我有一个变量VER,我试图在编译时定义-DVER =使用g ++和/ DVER =使用MS VS 2010 Express。它在g ++中工作,但不能用MS VS编译。我在MSDN http://msdn.microsoft.com/en-us/library/t8xe60cf.aspx上找到了一个引用空符号的示例。我认为这不适用,因为如果没有使用/ D开关,我在foo.h文件中有一个默认值。
以下是我所拥有的一个例子
foo.h中
#ifndef VER
#define VER = 1.0
#endif
Foo.cpp中
#include "foo.h"
void write_ver(std::ofstream &output)
{
float ver = VER; // C2059 Error here (Error: expected an expression)
output << ver << std::endl;
}
输出错误C2059:语法错误:'='。
如果有更好的方法来完成我正在做的事情,我也愿意接受建议。谢谢你的时间。
答案 0 :(得分:5)
#define VER = 1.0
从上面的行中删除赋值运算符,你应该没问题。 Preprocesser定义的格式为:
#define NAME VALUE