我有头文件,我声明了矢量od结构:
#include <d3d10.h>
#include <d3dx10.h>
#include <vector>
#include <fstream>
#include <istream>
#include <sstream>
using namespace std;
struct bone{
string name;
D3DXMATRIX TransformMatrix;
};
class animator
{
public:
animator();
~animator();
vector <bone> Skeletone;
void loadXfile(string Filename);
};
一切都很好但是当我尝试在代码和调试中使用 push_back()时, Skeletone 中的数据无法读取。当我使用相同类型的向量但在函数中本地声明( tempvecbone )时,这个问题不会发生。
if (checkChar == ';'){
tempvecbone.push_back(tempBone);
Skeletone.push_back(tempBone);
while (checkChar != '}')checkChar = fileIn.get();
}
任何人都知道发生了什么?
答案 0 :(得分:0)
如果有其他人遇到此问题,则是由Visual Studio项目设置中的“最大化速度(/ O2)”优化引起的。它可以在项目属性中更改 - &gt; C / C ++ - &gt;优化(现在我设置为已禁用)。