C++ 在循环条件中使用宏

C++ 在循环条件中使用宏,c++,function,syntax,macros,C++,Function,Syntax,Macros,我在C++编程,我把变量定义为宏,我想用宏.< /p>从函数返回一个值。 出于某种原因,编译器说我有一个语法错误。我正在使用Linux #include <iostream> #define FACTOR 10; int dosomthing(){ return (FACTOR/2); } 对可能出现的问题有何建议?宏将被替换。所以最后你会得到 return (10;/2); 只需移除;从你的宏中,你会没事的。宏将被替换。所以最后你会得到 return (10;/2);

我在C++编程,我把变量定义为宏,我想用宏.< /p>从函数返回一个值。 出于某种原因,编译器说我有一个语法错误。我正在使用Linux

#include <iostream>
#define FACTOR 10;
int dosomthing(){
    return (FACTOR/2);
}

对可能出现的问题有何建议?

宏将被替换。所以最后你会得到

return (10;/2);

只需移除;从你的宏中,你会没事的。

宏将被替换。所以最后你会得到

return (10;/2);

只需移除;从你的宏中,你会没事的。

静态常量int FACTOR=10;在C++中是一个更好的方法。

< P>静态const int因子=10;在C++中,这是一个更好的方法。< /p>编译器到底说什么?不要在定义因子10的结尾加分号;在99%的情况下,在C++中使用宏是没有道理的。它们是。可能与编译器所说的完全相同?不要在定义因子10的末尾加分号;在99%的情况下,在C++中使用宏是没有道理的。它们是。可能与的重复,但请更改名称,使其不全为大写。否则,它可能会被宏置乱:-但请更改名称,使其不完全为大写。否则它可能会被宏扰乱:-