gpt4 book ai didi

尝试在编译时定义变量时出现 C++ C2059 错误

转载 作者:太空宇宙 更新时间:2023-11-04 16:16:03 25 4
gpt4 key购买 nike

我有一个变量 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:语法错误:“=”。

如果有更好的方法来完成我正在做的事情,我也愿意接受建议。感谢您的宝贵时间。

最佳答案

#define VER = 1.0

从上面的行中删除赋值运算符,你应该没问题。预处理程序定义具有以下形式:

#define NAME VALUE

关于尝试在编译时定义变量时出现 C++ C2059 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com