我正在尝试编译一个开源项目,但我从 g++ 中遇到了这个问题
error: function definition does not declare parameters
代码是这样的
#include <iostream>
namespace hi {
class hello {
public:
bool first { true };
};
}
int main(int argc, char *argv[])
{
hi::hello h
std::cout << "output: " << h.first << std::endl;
return 0;
}
编译时会产生与开源项目代码相同的编译问题
g++ -O2 bools.cpp -o bools -std=c++0x
但是,如果我尝试使用相同的选项编译此代码,它将按应有的方式编译和运行
#include <iostream>
int main(int argc, char *argv[])
{
bool value { true };
std::cout << "output: " << value << std::endl;
return 0;
}
我在 Ubuntu 64 位上使用 g++ 4.6.3。
谢谢你的时间。