У меня есть система меню, которую я хочу инициализировать из постоянных данных. A MenuItem может содержать в качестве подменю вектор MenuItems. Но это работает только до определенной степени. Вот основные проблемы:
#include <vector>
struct S { std::vector<S> v ; } ;
S s1 = { } ;
S s2 = { { } } ;
S s3 = { { { } } } ;
g++ -std=c++0x (версия 4.4.5) справляется с s1 и s2, но s3 возвращается с:
prog.cpp:6:22: error: template argument 1 is invalid
(см. ideone). Я что-то делаю неправильно?