【Debug】— C++ 表达式必须包含类类型
2016-09-11 12:20
218 查看
错误一般发生在使用
你以为你定义了一个类对象,其实你是声明了一个函数,在编译器看来;
对类对象指针采用
也包括基本类型变量,错误地使用
修改方法:
当构造函数中存在一些参数时:
.进行访问时,原因可能在于:
你以为你定义了一个类对象,其实你是声明了一个函数,在编译器看来;
对类对象指针采用
.的方式访问其成员变量;
也包括基本类型变量,错误地使用
.
int a = 10; a.foo(); // 显然会提示“错误:表达式必须包含类类型”
1. 情况 1
class Test{ public: Test(){ } void foo(){ } }; int main(int, char**){ Test t(); // 编译器会将 t 视为一个函数; t.foo(); // 出错,表达式必须包含类类型 return 0; }
修改方法:
// 对象的定义,修改为: Test t;
当构造函数中存在一些参数时:
class Test{ public: Test(int i) {} // 但要避免默认单参构造函数:Test(int i = 0) {} ... } int main(){ Test t(5); ... }
2. 情况 2
Test* t = new Test(5); // 错误访问成员函数的形式: t.foo(); // 正确写法: t->foo();
相关文章推荐
- 解决VS2010链接错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 大数的任意进制之间的转换(九度OJ题目1080)
- C语言_密码不回显+"*"函数
- 简版服务器(c语言实现) (多线程)
- GeekBand C++ C++设计模式 第八周笔记
- c++ static及const(开发者在线)
- 用C语言实现链栈的基本操作
- C++基础(1)
- C++友元函数
- 模拟法简单实现螺旋矩阵
- 看了这篇博客我才知道我好像不太懂C和Cpp
- c/c++的一些小知识点3
- 笔记:(c语言)数值型数据的存储原理(第十三讲)
- C语言实现链表的基本操作
- NOIP 2015 提高组复赛试题
- C++静态库与动态库的区别?
- c~c++的基础知识
- c++基础 (第九章)
- 《C++ Primer》读书笔记——第六章
- Dev-C++的一些使用技巧