为什么这个模板类编译出错啊解决办法
为什么这个模板类编译出错啊
程序只有一个文件,包涵一个模板类,编译粗提示错误:
main.cpp:17: error: expected ';' before 'myit'
我用的是QT Creator 2.3.1 MinGw for windows
源文件如下:
------解决方案--------------------
typename std::map<int, T*>::iterator myit;
------解决方案--------------------
前面加个 typename
------解决方案--------------------
typename
程序只有一个文件,包涵一个模板类,编译粗提示错误:
main.cpp:17: error: expected ';' before 'myit'
我用的是QT Creator 2.3.1 MinGw for windows
源文件如下:
- C/C++ code
//------------------------ //------------------------ #include <QtCore/QCoreApplication> #include <map> template <class T> class MySetting { public: void function(); private: T m_data; }; //////////////////////////////////////////////////////////////////////// template <class T> void MySetting<T>::function() { std::map<int, T*>::iterator myit; //编译提示出错 error: expected ';' before 'myit' } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); return a.exec(); } //----------------------------------
------解决方案--------------------
typename std::map<int, T*>::iterator myit;
------解决方案--------------------
前面加个 typename
------解决方案--------------------
typename