• 3610阅读
  • 3回复

[提问]为什么这个模板类编译出错啊 [复制链接]

上一主题 下一主题
离线cibiren
 

只看楼主 倒序阅读 楼主  发表于: 2011-12-08
程序只有一个文件,包涵一个模板类,编译粗提示错误
   main.cpp:17: error: expected ';' before 'myit'
我用的是QT Creator  2.3.1 MinGw for windows
源文件如下:
//------------------------------------------------------------
//------------------------------------------------------------
#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();
}
//----------------------------------
离线wxj120bw

只看该作者 1楼 发表于: 2011-12-08
回 楼主(cibiren) 的帖子
vc通过了编译   你将 std::map<int, T*>::iterator换成std::map<int, T>::iterator 试试
离线cibiren

只看该作者 2楼 发表于: 2011-12-08
改了也不行啊。
你用你的QT creator 编译试试,能过么?
离线wxj120bw

只看该作者 3楼 发表于: 2011-12-08
回 2楼(cibiren) 的帖子
用的就是qt creator 但编译器是vc的 没mingw32编译器
快速回复
限100 字节
 
上一个 下一个