为什么这个模板类编译出错啊

cibiren2009 2011-12-08 10:16:59
程序只有一个文件,包涵一个模板类,编译粗提示错误:
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();
}
//----------------------------------


...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
念茜 2011-12-08
  • 打赏
  • 举报
回复
typename
dext 2011-12-08
  • 打赏
  • 举报
回复
前面加个 typename
bruceteen 2011-12-08
  • 打赏
  • 举报
回复
typename std::map<int, T*>::iterator myit;
cibiren2009 2011-12-08
  • 打赏
  • 举报
回复
哎,我的C++没学好啊,谢谢各位。

16,233

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧