1. 程式人生 > >在工程.h 檔案了定義了變數,依然在.cpp檔案裡報 未宣告的變數,無法識別的識別符號錯誤

在工程.h 檔案了定義了變數,依然在.cpp檔案裡報 未宣告的變數,無法識別的識別符號錯誤

實際應用中總會遇到各種錯誤,比如我在.h檔案裡定義了一個結構體,並且.cpp檔案包含了該標頭檔案,結果在標頭檔案裡使用,卻無法識別該型別。百思不得其解,後來才發現,原理是這樣子的。
    1, 我標頭檔案裡定義了一個類,類中包含了很多成員變數和成員函式。 原始檔裡是這些成員函式的實現,成員函式的實現,一般是這樣子寫的:
   返回值型別:MultiBandBlender(定義的類名)::(函式名){}    定義了一個類,在標頭檔案裡定義了一個結構體 ,在原始檔裡,在函式實現內部可以使用,但是作為函式返回值就不行了,無法識別。 原因:     結構體定義在類裡,原始檔函實現,前面會帶有類名,所以可以識別,作為函式返回值,前面沒有類名,所以無法識別。 解決辦法:  1,把結構體定義在類名外面。 2,在函式返回值前面加上類名。