:C++ 11 özel varsayılan yapıcı
struct NonStack
{
private:
NonStack(){}
};
NonStack a;
int main() { }
Neden ilk yapar: Aşağıdaki bir derleme hata veriyor Bununla
struct NonStack
{
private:
NonStack() = default;
public:
static NonStack* Create(){
return new NonStack;
}
};
NonStack a;
int main() { }
biri başarılı mı? Özel varsayılan yapıcı, NonStack a;
aracılığıyla bir nesnenin oluşturulmasını yasaklamamalı mı?
Kodunuz gcc4.8 üzerinde gerçekten [derleme] (http://coliru.stacked-crooked.com/a/55199811d96f1af7) yapar, ancak 4.9 bunu gerektiği gibi reddeder. – Praetorian
Bu soruda bir soru varsa daha iyi olurdu. –
Ayrıca yapıcıyı da silebilirsiniz '=; Beklendiği gibi davranmalıdır. – glampert