我在C++中編程,我將變量定義爲宏,並且我想從使用宏的函數返回值。在循環條件中使用宏
出於某種原因,編譯器說我有語法錯誤。我正在使用Linux。
#include <iostream>
#define FACTOR 10;
int dosomthing(){
return (FACTOR/2);
}
任何關於可能出錯的建議?
我在C++中編程,我將變量定義爲宏,並且我想從使用宏的函數返回值。在循環條件中使用宏
出於某種原因,編譯器說我有語法錯誤。我正在使用Linux。
#include <iostream>
#define FACTOR 10;
int dosomthing(){
return (FACTOR/2);
}
任何關於可能出錯的建議?
宏被替換。所以,最後你會得到
return (10;/2);
從宏只需卸下;
,你會沒事的。
static const int FACTOR = 10;
是在C++中執行此操作的更好方法。
但更改名稱,使它不是全部大寫。否則它可能會被一個宏擾亂:-) – 2011-03-06 16:34:36
編譯器說什麼? – sth 2011-03-06 16:05:51
不要在#define FACTOR 10;' – irritate 2011-03-06 16:05:54
末尾加分號在99%的情況下,在C++中使用宏是沒有道理的。他們是[4x邪惡](http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.5)。 – 2011-07-21 06:24:26