我试图编译使用GCC 4.7.1与-std=c++11
标志设置如下:使用自动作为模板参数
std::map<std::string, auto> myMap;
我试图创建一个对象包含大量的JSON各种类型的数据(int string,bool)以及子结构(list,map),所以我不能在编译时声明字段值的类型,所以我想我会使用auto
关键字。
然而,当我尝试编译它,我得到以下
error: invalid use of ‘auto’
error: template argument 2 is invalid
error: template argument 4 is invalid
error: unable to deduce ‘auto’ from ‘<expression error>’
是否有使用auto
作为模板参数一种特殊的方式,或只是不可能?
编号检出Boost.Variant或Boost.Any。 –
'auto'关键字仍然不允许将C++用作动态语言:D – fasked