你能帮我解决这个问题吗?我想将向量从 Typ 类中的函数返回到主函数:
在类类型:
vector<Test*> NetworkType::createObject(int r1, int r2, r3) {
vector<test*> te0;
if (res1 == 1 && res2 == 1 && res3 == 1) {
TestV *p1 = new TestV("aaa","bbb",3,"ooo","ccc", "ttt", "testX", "sk2");
TestV *p3 = new TestV("rrr","ddd",3,"ooo","ccc", "ttt", "testY", "sk2");
//return p1;
TestV tesV1(*p1);
te0.push_back(&tesV1);
TestV tesV2(*p3);
te0.push_back(&tesV2);
return te0;
} else {
...
}
}
主要的:
Typ nk;
vector<Test*> p;
p = nk.createObject(p0,p1,p2);
输出:
for(int i = 0; i < p.size(); i++){
cout << "\n" + toString(p[i]);
}
到字符串:
std::string toString(Test* arg) {
TestV* teV = dynamic_cast<TestV*>(arg);
TestN* teN = dynamic_cast<TestN*>(arg);
if (teV)
{
return teV->toString();
}
else
{
return teN->toString();
}
return "";
};
编译是正确的,但是运行程序后我得到了这个错误:
VolbaHoneypotu.exe 中 0x76dac41f 处未处理的异常:Microsoft C++ 异常:内存位置 0x002fec9c 处的 std::__non_rtti_object..
谢谢你的回复。