Kann das Funktionieren?



  • std::vector<sf::button> button;
    
    for (int i = 0; i < lineCountInt; i++)
    {
    	sf::button buttonExample(indexNumber.at(i), texturePath.at(i), command.at(i));
    	button.push_back(buttonExample);
    }
    

    Kann das Funktionieren?
    Falls nicht wie kann ich dann eine undefinierte Anzahl an Klassen erstellen?



  • 1234567890 schrieb:

    Kann das Funktionieren?

    Ja. Kommt auf sf::button an. Wenn er kopiert werden darf, klappts.

    Falls nicht wie kann ich dann eine undefinierte Anzahl an Klassen erstellen?

    Du willst keine Klassen erstellen, sondern Objekte.



  • Ja für des was ich alles Programmiere hab ich echt wenig Ahnung von wie man das alles Bezeichnet etc...

    // Edit

    Hab jetzt einen Kopierkonstruktor erstellt, funktioniert danke



  • Hallo,

    kann mir vielleicht bitte jmd erklären, was an dem Code Falsch ist.

    Es kommt die Fehlermeldung: "to_dec was not declared in this scope"

    Prinzipiell müsste es doch funktionieren, also auch mit der Übergabe der Adresse "&y".

    #include <iostream>
    #include <stdio.h>

    using namespace std;

    int main()
    {
    int x;
    cout << "Geben Sie eine Dezimalzahl ein " << endl;
    cin >> x;

    cout << "Die Dezimalzahl ist:" << ausgabe(to_dec(x)) << endl;
    cout << "Die Binärzahl ist:" << ausgabe(to_bin(x)) << endl;
    cout << "Die Hexadezimalzahl ist:" << ausgabe(to_hex(x)) << endl;
    }

    int to_dec(int x)
    {
    for (int i=0; i<8; i=i+1)
    {
    int y[8];
    y[i] = '0' + x%10;
    x = x / 10;
    }
    return &y;
    }

    int to_bin(int x)
    {
    int y[8]
    for(int i=0; i<8; i=i+1)
    {
    y[i] = '0' + x%2;
    x = x / 2;
    }
    return &y;

    }

    int to_hex(int x)
    {
    int y[8]
    for (int i=0; i<8; i=i+1)
    {
    int help= x%16;
    if (help < 10)
    y[i] = '0' + help;
    else
    y[i] = 'A' + help-10;
    x = x /16;
    }
    return &y; //übergibt vom Feld y die Adresse des ersten Feldstücks
    }

    int ausgabe(int y){ //du bekommst die (anfangs-)Adresse vom Feld y
    cout << *y << endl; //Wert an der Adresse y
    y++; //Pointer um die länge eines ints verschieben
    //auf nächsten int-Wert des Feldes y

    }



  • Du musst vor der main die funktionnen deklarieren.

    int to_dec(int x);
    int to_bin(int x);
    int to_hex(int x);


Anmelden zum Antworten