Questo codice non si comporta come mi aspetto.Perché non c'è nessuna chiamata al costruttore?
#include<iostream>
using namespace std;
class Class
{
Class()
{
cout<<"default constructor called";
}
~Class()
{
cout<<"destrutor called";
}
};
int main()
{
Class object();
}
mi aspettavo l'uscita 'costruttore predefinito chiamato', ma non ho visto nulla come l'uscita. Qual è il problema?
vostro costruttore è privato. –
@dribeas: questo non è proprio l'analisi più irritante; è solo un riassunto leggermente irritante. L '"analisi più irritante" è di solito riservata per un tentativo di creare una variabile con un inizializzatore diretto di un valore inizializzato temporaneo: "A a (A());" (Il mio errore in origine.) –
vedi anche http://stackoverflow.com/questions/180172/default-constructor-with-empty-brackets –