在我的头文件中:
Esame();
Esame(string);
Esame(string, Voto);
这是一个 C++ 测试类:
//OK
Esame esame("Algoritmi e strutture dati", 30);
esame.stampaEsame();
//OK
Esame esame2("Metodi Avanzati di Programmazione");
esame2.setVoto(26);
esame2.stampaEsame();
//ERROR
Esame esame3();
esame3.setVoto(26); //Method could not be resolved
esame3.stampaEsame(); //Method could not be resolved
代码根本无法编译。如果在上面的代码中使用相同的类创建了对象,为什么找不到方法?
最佳答案
esame3()
不调用默认构造函数。在你的情况下,编译器认为你已经声明了一个方法
应该是
Esame esame3;
或
Esame esame3=Esame();
使用new
创建一个对象会创建一个动态分配的对象..
在那种情况下,您的类必须是这样的指针
Esame *esame3=new Esame;
您必须使用 ->
而不是 .
来访问成员方法或变量..
esame3->method1();
esame3->varable1;
关于c++ - 方法无法解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000196/