Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Korowai

unregistriert

1

07.10.2015, 12:37

Vektor von Instanzen an Funktion

Hi,
ich habe eine Frage zu Vektoren.
Ich weiß nicht, wie ich Vektoren von Instanzen an FUnktionen übergebe.

main:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
...
void Fabrikproduktion(int &Basisnummer0, CBasis (&RestonaGuldon_Spieler0),
                  CBasis (&KlendautKlendaut_Spieler0),
                 CBasis (&AbsariLumos_Spieler0),
                 CBasis (&HysskallMatras_Spieler0),
                      vector<Fabrik0_AbsariLumos> &v_Prod_AbsariLumos;
     vector<Fabrik0_HysskallMatras> &v_Prod_HysskallMatras;
     vector<Fabrik0_RestonaGuldon> &v_Prod_RestonaGuldon;
     vector<Fabrik0_KlendautKlendaut> &v_Prod_KlendautKlendaut;)
{



    return;
}
...

// Aufruf
if (hm=='3')
    {
        Fabrikproduktion(Basisnummer0,RestonaGuldon_Spieler0,
                  KlendautKlendaut_Spieler0,
                 AbsariLumos_Spieler0,
                 HysskallMatras_Spieler0,
                 v_Prod_AbsariLumos,
     v_Prod_HysskallMatras,
     v_Prod_RestonaGuldon,
     v_Prod_KlendautKlendaut);
                 continue;
    }
...

int main()
    {

    srand(time(0));

    CFabrik0 Fabrik0_RestonaGuldon;
    CFabrik0 Fabrik0_AbsariLumos;
    CFabrik0 Fabrik0_HysskallMatras;
    CFabrik0 Fabrik0_KlendautKlendaut;

    vector<Fabrik0_AbsariLumos> v_Prod_AbsariLumos;
     vector<Fabrik0_HysskallMatras> v_Prod_HysskallMatras;
     vector<Fabrik0_RestonaGuldon> v_Prod_RestonaGuldon;
     vector<Fabrik0_KlendautKlendaut> v_Prod_KlendautKlendaut;

...


DAzu die CFabrik0 header und cpp

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef FABRIK0_HPP_INCLUDED
#define FABRIK0_HPP_INCLUDED

#include <iostream>
#include <string>

using namespace std;

class CFabrik0
{   public:
        int Produkt;
        int Produktionsdauer;
        int Produktionsort;

        CFabrik0();
        ~CFabrik0();

        friend class CBasis;

};

#endif // FABRIK0_HPP_INCLUDED


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "Fabrik0.hpp"
#include "CBasis.hpp"
#include <iostream>
#include <string>
using namespace std;
CFabrik0::CFabrik0()
{
Produkt=0;
Produktionsdauer=0;
Produktionsort=0;

};

CFabrik0::~CFabrik0()
{

};


Kann mir da jemand weiter helfen?

WIe funktioniert das mit der Übergabe an Memberfunktionen?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

07.10.2015, 12:56

Parameter werden mit Komma getrennt, nicht mit Semikolon. (Zeile 6)

BlueCobold.PseudoCompiler.StopProcessing();
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Korowai

unregistriert

3

07.10.2015, 16:51

Hi,

danke, das ist beim rüber kopieren passiert. Fehlermeldung bleibt dieselbe:

- "Fabrik0_..." template argument 1 is invalid
- template argument 2 is invalid

4

07.10.2015, 17:30

std::vector<CFabrik0>
So wird das funktionieren.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

07.10.2015, 17:55

Er rät sich sein C++ gefühlt noch immer zusammen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

6

07.10.2015, 17:59

Keine Ahnung, wollte auf den Rest da oben nicht weiter eingehen. Wüsste auch nicht wo ich da anfangen sollte...
Deswegen wurde nur die Frage beantwortet ;)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

07.10.2015, 18:12

War auch nur 'ne Anmerkung an den TE sich doch endlich mal ein Buch anzusehen, nicht unbedingt an Dich.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

8

08.10.2015, 09:51

Muss BC zustimmen, dir fehlen da Grundlagen. Das ist kein Problem von Vektoren sondern allgemein fehlendem Verstaendnis. Wir waere es, wenn du es erstmal mit einer simplen Funktion anfaengst, wo z.b. nur ein Vektor uebergeben wird und nicht fuenfzig Paramter gleichzeitig. Dazu findet man auch viele Beispiele und wenn man das einfache dann erstmal drauf hat, kann man es auch einfach auf diesen komplexen Fall anwenden. BTW: Ich bprogrammiere schon eine Weile, aber so Monsterinterfaces habe ich keine 10 mal gesehen bisher.

9

08.10.2015, 12:41


Ich weiß nicht, wie ich Vektoren von Instanzen an FUnktionen übergeben.

Dein nicht wissen fängt leider schon erheblich früher an, wenn ich mir den Code in der Main-Funktion anschau.
Du erstelltet dort den std::Vector schon nicht richtig. Somit wird es auch mit den Funktionen nichts werden!
Anti-Freak schreibt ja schon wie es geht (das erstellen).

Mehr ist da nicht zu sagen, die entsprechenden Empfehlungen hast du bekommen.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

Werbeanzeige