2016-10-31 2 views
1

Ich versuche, eine Lösung für mein Problem zu finden. Ich sehe etwas in Game Maker namens ds_grid, das so etwas wie ein dynamisches 2D-Array ist, aber jedes einzelne Feld kann verschiedene Arten von Variablen enthalten.Speichern Sie verschiedene Arten von Variablen

Sie können die Werte durch Indizes erhalten, z.B. ds_grid_get(mygrid,row,column). Ich brauche etwas Ähnliches, kann aber nichts finden, das funktionieren kann, das verschiedene Typen enthalten kann, nicht dynamisch sein kann und umgekehrt.

Was ist die Problemumgehung dafür?

+0

Welche Sprache? Bitte an diesem Tag. – Carcigenicate

+0

Entschuldigung, ich meine C++. –

+0

Es ist schwierig, Lösungen anzubieten, wenn die Problemstellung einfach lautet: "Es funktioniert nicht". Bitte [bearbeiten] Sie Ihre Frage, um eine ausführlichere Beschreibung dessen zu geben, was Sie erwartet haben und wie sich das von den tatsächlichen Ergebnissen unterscheidet. Sehen Sie [fragen] nach Hinweisen auf, was eine gute Erklärung macht. –

Antwort

0

"ähnlich, aber leicht unterschiedlich" bedeutet, dass es eine gemeinsame Basisklasse gibt (oder Sie eine erstellen sollten). Sie können einen Container mit Basisklassenzeigern erstellen, die alle abgeleiteten Typen enthalten können. Wenn es keine gemeinsame Basisklasse gibt, können Sie verwenden, um verschiedene Typen in einem Container zu speichern.

// Example program 
#include <iostream> 
#include <string> 
#include "boost/variant.hpp" 

int main() 
{ 
    std::vector<boost::variant< int, std::string > > w = {"as", 12}; 
    std::cout << w[0] <<std::endl; 
    std::cout << w[1] <<std::endl; 
} 
+0

Okay, ich versuche das zu verstehen, ich mache vorher noch nie so etwas :) –

Verwandte Themen