在执行下面的代码时出现错误:_BLOCK_TYPE_IS_VALID。我认为这与将另一个对象添加到向量有一些共同点,但我不知道我在哪里犯了错误。我不添加类代码,因为该程序的先前版本是在没有使用矢量的情况下编写的,并且运行良好。如果有必要,我可以将变量名称翻译成英文或解释使用哪个变量。
#include "stdafx.h"
#include "CStop.h"
int _tmain(int argc, _TCHAR* argv[])
{
vector<CStop>Stops;
string* array= NULL;
string name,text;
int length,time,howMany,n;
cout<<"How many stops? "<<endl;
cin>>n;
for(int i = 0; i < n; i++)
{
cout<<"Type name, length , time, how many stops"<<endl;
cin>>name>>length>>time>>howMany;
if(howMany> 0)
{
cout<<"Type stops names"<<endl;
array= new string[howMany];
for(int i = 0; i<howMany;i++)
{
cin>>text;
array[i] = text;
}
}
CStops temp(name, length,time,howMany,array);
Stops.push_back(temp);
if(howMany> 0) delete[] array;
}
for(int i=0;i<Stops.size();i++)
{
cout<<Stops[i].Info()<<endl;
}
return 0;
}
在此先感谢您的帮助。