c++ - 方法无法解决

标签 c++ oop methods

在我的头文件中:

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/

相关文章:

c - 如何用 C 语言编写面向对象的代码?

Java Comparable : helper methods for isLessThan, isGreaterThan, isEqualTo

java - 重用一小部分代码的最简单方法

c++ - 更快地循环读取 .txt 文件的技术

Python 面向对象 : functions from a dictionary do not affect class instance variables

c++ - 在 C++ 中使用 sstream 头文件

C++ 清除结构 vector 异常

java - 新的 Java 编码器。需要帮助将游戏放入方法和类中

c++ - 基方法/运算符在派生(C++)上调用时返回基类型?

c# - 如何在 C++ 运行时组件内的 Windows Phone 8.1 XAML 应用程序中使用 C++ dll