我有這個功能,它自己添加一個數字。#define ADD(x)(x)+(x)返回錯誤結果
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
#define ADD(x) (x)+(x)
int main()
{
int x = 2;
int y = ADD(++x);
cout << y << endl;
}
當我運行這個程序,它會返回8,但我還是希望6.
我想X = 3,這是送3 ADD功能,但現在看來似乎沒有。有人可以向我解釋嗎?
如果您只是調用ADD(2),它會返回什麼? –
這是創建內聯函數的舊方法。現在嘗試不這樣做。 –
[C中宏需要括號](http://stackoverflow.com/q/10820340/995714) –