Duplicar posible:
Why is there no call to the constructor?¿Cuál es la diferencia entre Test t; y Prueba t() ;? Si la prueba es una clase
Estoy utilizando Visual Studio 2012, supongamos que la prueba es una clase
class Test
{
};
Al crear una nueva instancia de prueba, ¿cuál es la diferencia de las siguientes dos maneras?
forma 1
Test t;
manera 2
Test t();
llegué a esta pregunta en el siguiente código, en un principio, que define una instancia de A en modo 2, tengo sólo un error porque B no proporciona un constructor predeterminado, pero cuando lo defino en el modo 1, recibí un error adicional.
class B
{
B(int i){}
};
class A
{
A(){}
B b;
};
int main(void)
{
A a(); // define object a in way 2
getchar() ;
return 0 ;
}
si defino una en forma de 1
A a;
me tiene dicho otro error
error C2248: 'A :: A': no se puede miembro privado de acceso declarado en la clase 'A'
Así que supongo que debe haber algunas diferencias entre las dos maneras.
+1 para la imagen :-) –
bueno, qué pregunta tan estúpida, estoy seguro de que sé eso antes, pero ... hoy no es mi día, :( – zdd
@zdd sucede –