我遇到了一个以前从未见过的新错误/错误。这指的是什么,或者我应该在哪里看?或者这种错误的原因是什么?
No source available for "libstdc++-6!_ZNSsC1ERKSs() at 0x6fc89524"
我怀疑它是在这个虚拟数据函数之后弹出的:
template <class T>
void DummyDataStudents(Array <T> A){
for(int i=0; i<A.lenght; i++){
A.M[i].setStudent(i, i%2,"student"+i);
}
cout<<"Done Stundents"<<endl;
}
正如@Nick已经说过的,此消息来自调试器,该调试器无法打开 std::string 构造函数的源文件(uce c++filt
来解码这个神秘的名称)。
你的问题是A.M[i].setStudent(i, i%2,"student"+i);
行,因为你将 i 添加到"学生"指针中,使其成为 i=0 的"学生",i=1 的"tudent",i=2 的"udent",..." 表示 i=7,未定义的行为表示 i>=8。您可以使用 std::stringstream
将 i 转换为字符串。