我正在使用 MVisualC++ 2010,当我尝试取消定义“main”时,没有结果,控制台照常启动。我期待一些丢失的入口点错误或其他东西。 这是为什么?
#undef main
int main()
{
}
最佳答案
main 首先不是 #define
。您的 #undef
没有任何改变。
#define foo bar
告诉预处理器“用 bar 替换所有出现的 foo”。
#undef foo
告诉预处理器“foo 不再有特殊意义,保持原样”
如果您想要链接器错误,请将 main
重命名为例如main2
,或者做例如这个:
void foo();
int main() {
foo();
}
这告诉编译器 foo
函数存在(但不是它是什么)。 main
尝试使用它,因此链接器在找不到它时会报错。
关于c++ - #undef main 没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203011/