[gelöst] Problem mit Übergabe eines String-Arrays an eine Methode...



  • Hallo! Ich hab ein kleines Problem mit der Übergabe eines String-Arrays an den Konstruktor einer Klasse, es wird nur das 1. Element übergeben und nicht der ganze Array, wodran kann das liegen?

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    const string stddeck[] = { "2d","3d","4d" };
    
    class Cards {
      public:
      Cards(const string deck[]);
    };
    
    int main()
    {
        cout << "Size:" << sizeof(stddeck) << endl;  // 3 Elemente enthalten
        Cards cards(stddeck);
        return 0;
    }
    
    Cards::Cards(const string deck[]) {
        cout << "Size:" << sizeof(deck) << endl;  /// nur noch das 1. Element enth.
    }
    


  • google mal nach "array to pointer decay" 🙂
    Und dann benutze std::vector oder std::tr1::array statt des C-Arrays 🙂



  • Vielen Dank, ich hab es jetzt mit std::vector hinbekommen!


Anmelden zum Antworten