扩展初始值设定项列表被视为函数
extended initializer lists being seen as functions
我正在尝试编译一个开源项目,但我从 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。
谢谢你的时间。
gcc 4.7
中添加了对非静态数据成员初始值设定项的支持。您可以在此处查看gcc
支持哪些版本的 C++0x/C++11 功能的列表。此功能的行说:
Non-static data member initializers | N2756 | GCC 4.7
这在gcc 4.7
和更大范围内工作得很好,请在此处观看。
相关文章:
- 一对向量构造函数:初始值设定项列表与显式构造
- C++:如何使函数只返回作为列表一部分的字符串
- 错误 没有与参数列表匹配的重载函数"getline"实例
- 运行相同函数名称C++的多个类的列表
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- C++模板函数中的初始化 - 新的初始值设定项表达式列表被视为复合表达式
- std::vector 没有重载函数的实例与参数列表匹配
- 从封装在对象中的函数 C++ 返回时为空的列表
- 构造函数/函数声明参数列表中的统一初始化
- C++:继承和列表函数作为类成员的问题
- 我一直在尝试递归中编写一个分类的链接列表函数
- C++列表函数返回列表
- 列表函数未按预期工作
- C++链表/多态性未运行列表函数
- 这是一个具有基于数组的列表函数的数据结构项目,我似乎无法摆脱这个无限循环。
- 多集作为类模板,使用列表函数作为基础
- Boost::mpl类型列表函数应用程序
- 这个变量参数列表函数调用是如何工作的
- C++STL列表函数使用空列表分段
- STL 列表数组无法访问列表函数