我想在MFC中使用vector,结果总是出现这样的问题,programDlg.obj : error LNK2005: "class std::vector<int,class std::allocator<int> > aaa" (?aaa@@3V?$vector@HV?$allocator@H@std@@@std@@A) already defined in program.obj
Debug/program.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
这论坛竟然连张图片都上传不了,哎
Debug/program.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
这论坛竟然连张图片都上传不了,哎
cpp中再写个 vector<int> aaa;一般不要这么直接在头文件中定义全局变量mfc中不是有 CXXApp 吗,你可以把任何地方都用到的变量定义到 CXXApp 类内
用的时候 强转为 CXXApp* pApp = (CXXApp*)afxgetApp();
然后 pApp-> 你定义全局都要用的变量
报什么错?变量的定义一般放到cpp文件中,h中申明即可。
报什么错?变量的定义一般放到cpp文件中,h中申明即可。
版主,我想问一下MFC中怎么使用vector?
我在Dlg.h文件中加入
#include<vector>
using namespace std;
然后在BOOL CProgramDlg::OnInitDialog()
定义为 vector<int> aaa;?
那怎么声明呢?
报什么错?变量的定义一般放到cpp文件中,h中申明即可。
#include<vector>
using namespace std;
extern vector<int> aaa; 再在Dlg.cpp文件中加入
vector<int> aaa;
#include <vector>
class CProgramDlg : CDialog
{
public://公共变量
private://私有变量
std::vector<int> aaa;
};