Sie sollten offensichtlich auf Int32 Zeiger Fabrik wie nächste Versuch:
class Int32Factory {
public:
static Int32Factory *instance() {
static std::unique_ptr<Int32Factory> s_s(new Int32Factory());
return s_s.get();
}
~Int32Factory() {
for (auto i : m_items) {
delete i;
}
}
int32 *getInt() {
m_items.push_back(new int32());
return m_items.back();
}
private:
std::vector<int32 *> m_items;
Int32Factory() { }
};
Es einfach ist, zu verwenden, die nächsten Schritte nur tun: Sie
int32 *iPos = Int32Factory::instance()->getInt();
status = scriptData.GetInt32(iPos);
Jede anständige C++ Buch/Tutorial sagen Wie. Sie dereferenzieren den Zeiger: 'int position = * iPos;'. –
Hatten Sie versucht "Position = * iPos;"? – Amadeus
Konvertieren? Bist du dir wirklich sicher, dass du das machen willst? Ich habe den Eindruck, dass Sie nicht verstehen, was Zeiger tun .... (oder verwenden Sie das Wort "konvertieren" auf eine seltsame Art und Weise) Und verwenden wahrscheinlich auch 'GetInt32' falsch. – Hurkyl