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*
。ベクトルを正しく返すことができない理由を誰かが知っていますか? キャスティングで何か間違っていますか?
ありがとう