11
işlevi derleniyor Neden bu derleme yapmıyor:
Bir dönüş türü olarak string
ile ilgili bir sorun olabilir mi?Constexpr işlevi döndürülüyor
constexpr std::string fnc()
{
return std::string("Yaba");
}
işlevi derleniyor Neden bu derleme yapmıyor:
Bir dönüş türü olarak string
ile ilgili bir sorun olabilir mi?Constexpr işlevi döndürülüyor
constexpr std::string fnc()
{
return std::string("Yaba");
}
char
için bir işaretçi alır std::string
yapıcı constexpr
değildir. constexpr
işlevlerinde yalnızca constexpr
işlevlerini kullanabilirsiniz.
Teşekkürler, daha önce bilmiyordum. – smallB
+1 ve bu kurucunun "constexpr" olamamasının nedeni, derleme zamanında gerçekleştirilemeyen yan etkilere (yani tahsise) sahip olmasıdır. –
Ama bunun (bu örnek) biraz aptalca olduğunu düşünmüyor musunuz? Dize değişmezi const, bu yüzden gelecekte bu tür yapılara izin vermek için string katsayısı constexpr yapılmalıdır. – smallB