[英]lvalue required as increment operand error when using #define
下面的代碼有什么問題,為什么我會收到這個錯誤?
#include <iostream>
#define A 1
using namespace std;
int main()
{
cout <<A++;
return 0;
}
#define A 1
不會生成名為A
的變量。
它告訴您的計算機在編譯之前用1
替換A
所有話語。
所以,你的程序實際上是:
#include <iostream>
using namespace std;
int main()
{
cout <<1++;
return 0;
}
並且您不能增加文字1
。
您可以在C++ 書籍中閱讀有關預處理器指令的更多信息。
#define A 1
A 不是有效的 c++ 左值,所以給了我們"lvalue required as increment operand"
int A;
是有效的 c++ 左值並且可以工作,也可以是其他簡單的數字類型浮點數、無符號字符等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.