我有一个菜单系统,我想从常量数据初始化.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)应对s1和s2,但s3回来:
prog.cpp:6:22: error: template argument 1 is invalid
Run Code Online (Sandbox Code Playgroud)
(见ideone).难道我做错了什么?