我有這個標識無法解析標識符:「COL」
#define COL 32
我用它來創建一個數列,都做工精細然而,調試代碼的一部分,我在其中,我添加COL來觀看(Visual Studio),並得到了「無法解析標識符」的消息,而不是一個值。代碼編譯和運行良好,但我不能檢查某些東西。我試圖註釋掉我的功能如果我在那裏做了某些事情,但這並沒有幫助,我一直在研究代碼幾個星期,它一直運行良好,我沒有更新任何東西,我完全無所適從......
我有這個標識無法解析標識符:「COL」
#define COL 32
我用它來創建一個數列,都做工精細然而,調試代碼的一部分,我在其中,我添加COL來觀看(Visual Studio),並得到了「無法解析標識符」的消息,而不是一個值。代碼編譯和運行良好,但我不能檢查某些東西。我試圖註釋掉我的功能如果我在那裏做了某些事情,但這並沒有幫助,我一直在研究代碼幾個星期,它一直運行良好,我沒有更新任何東西,我完全無所適從......
宏是在編譯的最早階段由預處理器替換爲。之後,代碼中沒有COL
符號。
如果使用C++,做到這一點的C++方式:
namespace constants {
constexpr int coloums = 32;
}
預處理器的使用正在變得越來越遠,每次之間的C++標準的修訂。我們不需要它來定義積分常量,事實上從來沒有這樣做。
謝謝!我替換了所有的#define,現在我可以遵循所有的值。 – Flisp
@Flisp - 很高興它爲你整理:) – StoryTeller
'COL'不是一個變量,在所有的地方'COL'用在代碼中它將被替換爲它的值:https://en.wikipedia.org/wiki/C_preprocessor – Raxvan
我認爲你應該因爲它不是一個標識符,或者如果你能夠做到這一點,但是從VS那裏得到投訴,它可能是一個錯誤或一個錯誤配置。在我看來,VS是絕對的BS,所以切換到Linux並使用純粹的GCC或鏗鏘聲。 – ForceBru
我可以用cout <<「COL」<< COL <<「\ n」打印值; – Flisp