【Debug】— C++ 表达式必须包含类类型
生活随笔
收集整理的這篇文章主要介紹了
【Debug】— C++ 表达式必须包含类类型
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
錯(cuò)誤一般發(fā)生在使用.進(jìn)行訪問時(shí),原因可能在于:
- 你以為你定義了一個(gè)類對(duì)象,其實(shí)你是聲明了一個(gè)函數(shù),在編譯器看來;
對(duì)類對(duì)象指針采用.的方式訪問其成員變量;
- 也包括基本類型變量,錯(cuò)誤地使用.
1. 情況 1
class Test{ public:Test(){ }void foo(){ } };int main(int, char**){Test t(); // 編譯器會(huì)將 t 視為一個(gè)函數(shù);t.foo(); // 出錯(cuò),表達(dá)式必須包含類類型return 0; }修改方法:
// 對(duì)象的定義,修改為: Test t;當(dāng)構(gòu)造函數(shù)中存在一些參數(shù)時(shí):
class Test{ public:Test(int i) {} // 但要避免默認(rèn)單參構(gòu)造函數(shù):Test(int i = 0) {}... }int main(){Test t(5);... }2. 情況 2
Test* t = new Test(5); // 錯(cuò)誤訪問成員函數(shù)的形式: t.foo(); // 正確寫法: t->foo();轉(zhuǎn)載于:https://www.cnblogs.com/mtcnn/p/9423796.html
總結(jié)
以上是生活随笔為你收集整理的【Debug】— C++ 表达式必须包含类类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python安装各种插件
- 下一篇: [MVC学习笔记]5.使用Control