为什么我的VC MFC用了vector 编译可以通过但运行不起来
/ SCommTestDlg.h : header file[/code]
//
//{{AFX_INCLUDES()
#include <vector>
using std::vector;
#include "mscomm.h"
//}}AFX_INCLUDES
[code=c] vector <byte> m_AImageData;
以上是用到vector的地方
[解决办法]
放在AFX_INCLUDE外面试试,记得用cpp文件。多帖错误提示
[解决办法]
注释掉vector相关代码就能运行?
[解决办法]
应改用
#define MAXDATA 16384*16
char m_AImageData[MAXDATA];
[解决办法]
调试一下,找到具体问题。我们很难猜。
[解决办法]
全局变量应统一加在
// Global Variables:
后面
[解决办法]
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常运行的问题。
[解决办法]
#include<vector>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
vector<int> arrData;
arrData.push_back(1);
arrData.push_back(2);
arrData.push_back(3);
for (int i=0; i!=arrData.size(); ++i)
{
printf("%d\t", arrData[i]);
}
getchar();
return 0;
}