相关疑难解决方法(0)

初始化包含自身向量的结构

我有一个菜单系统,我想从常量数据初始化.A MenuItem可以包含作为子菜单的向量MenuItems.但它只能达到一定程度.以下是问题的根本原因:

#include <vector>
struct S { std::vector<S> v ; } ;

S s1 = { } ;
S s2 = { { } } ;
S s3 = { { { } } } ;
Run Code Online (Sandbox Code Playgroud)

g++ -std=c++0x(版本4.4.5)应对s1s2,但s3回来:

prog.cpp:6:22: error: template argument 1 is invalid
Run Code Online (Sandbox Code Playgroud)

(见ideone).难道我做错了什么?

c++ stl initializer-list incomplete-type c++11

11
推荐指数
2
解决办法
1863
查看次数

标签 统计

c++ ×1

c++11 ×1

incomplete-type ×1

initializer-list ×1

stl ×1