在一个 dll 中,我正在做
std::vector<foo*>* v = new std::vector<foo*>();
foo* f = new foo();
v->push_back(f);
// size of v is 1
process->Result = static_cast<void*>(v); // Result is of type void*
在使用 dll 的 exe 中,我做
if (process->Result != NULL)
{
std::vector<foo*>* v = static_cast<std::vector<foo*>*>(process->Result);
int size = v->size(); // <-- size is garbage (221232 or something like that)
}
结果必须是void*
. 有谁知道为什么我无法正确传回向量?我在选角方面做错了吗?
谢谢