方法无法解决
Method could not be resolved
在我的标题文件中:
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()
do'd date default构造函数。在您的情况下,编译器认为您已声明了方法
应该是
Esame esame3;
或
Esame esame3=Esame();
使用new
创建对象将创建一个动态分配的对象。
在这种情况下,您的班级必须像这样的pointer
Esame *esame3=new Esame;
您必须使用->
而不是.
来访问成员方法或变量。
esame3->method1();
esame3->varable1;
Esame esame3();
是函数声明。在这种情况下,esame3
不命名对象。它声明了一个称为esame3
的函数,该函数不采用参数,并返回类型Esame
的对象。
这称为最烦人的解析。
要使用默认构造函数创建对象,请使用Esame esame3;
(无括号):
Esame esame3;
esame3.setVoto(26);
esame3.stampaEsame();
相关文章:
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 从 int 中剥离位时,编译器会警告一个转换,但不警告其他转换.有解决方法吗?
- 是否有解决方法可以在 c++ 中为 short 定义用户定义的文字?
- 不为 emplace() 定义构造函数的解决方法
- 删除复制构造函数的 Intel 13.1.2 中不良C++行为的解决方法
- 函数模板部分专业化-有什么解决方法吗
- 带boost的过载模糊性:可选,解决方法
- 继承构造函数和其他变量的解决方法
- C++ 解决方法:"从类型"B*"的表达式初始化类型"C*&"的引用无效"
- 对前向声明类型进行unique_ptr的解决方法
- 解决方法:'can not be used when making a shared object; recompile with -fPIC'使用Cmake。使用普通的 g++ 工作
- 解决方法:QPixmap:在GUI线程之外使用pixmap是不安全的
- CreateProcessWithTokenW 的 cmdline 参数的最大长度是否有解决方法?
- C++双精度作为模板参数的解决方法
- 在参数相关查找之前进行模板替换的任何方法(或解决方法?
- CUDA 内核"Only a single pack parameter is allowed"解决方法?
- dlsym() 解决方法返回类型
- VS2017是否有VLA(可变长度阵列)支持解决方法
- 解决方法:未定义对"class::function"的引用
- 来自 Boost 的 JSON 解析器的警告 C4512 的解决方法