JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=52accba67e7a1c2fb97210d6b779e5ebMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Array als template?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 11.03.2005, 18:57    Titel: Array als template? Antworten mit Zitat

wieso geht sowas net?
CPP:
std::list<float[3]> m_VPos;

Code:
D:\Programme\Microsoft Visual Studio\VC98\INCLUDE\list(238) : error C2102: '&' erwartet L-Wert
        D:\Programme\Microsoft Visual Studio\VC98\INCLUDE\list(235) : Bei der Kompilierung der Member-Funktion 'class std::list<float [3],class std::allocator<float [3]> >::iterator __thiscall std::list<float [3],class std::allocator<float [3]> >::e
rase(class std::list<float [3],class std::allocator<float [3]> >::iterator)' der Klassenvorlage

muss ich wircklich dafür ne Struktur erstellen? Oder gibt es ne Möglichkeit das direkt so zu machen?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 11.03.2005, 19:20    Titel: Antworten mit Zitat

ich nehm ma an, dass de ne Struktur erstellen musst, da in Lists keine Arrays vorkommen können. Kannst ja einfache ne Strukter mit 3 floats erstellen und die dann benutzen. Wahrscheinlich lässt sichs dann mit nem Iterator einfacher bearbeiten. Der nimmt float[3] als eigenen Typ, denn bei Arrays musste die [] ja hinter den Bezeichner setzten, net hinter den Typ...

Ansonsten kannstes ja ma so versuchen: list<float [3]> -glaub aber auch net dass das klappt; Am besten machste ne Struktur
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 11.03.2005, 19:21    Titel: Antworten mit Zitat

float[4] ist kein Typ sondern ein Speicherbereich vom Typ float.

CPP:
template<typename T, unsigned int size> class basic_array
{
public:
    basic_array (void) : size_ (size), data_ (NULL)
    {
        if (size_ == 0)
            throw "Ungueltige Groesse";

        data_ = new T [size_];
    }
    ~basic_array (void)
    {
        if (data_ != NULL)
        {
            delete data_;
            data_ = NULL;
        }
    }

    T& operator[] (unsigned int id)
    {
        if (id > size_)
            throw "Zu hoher Zugriffswert!";

        return (data_[id]);
    }

private:
    T *data_;
    unsigned int size_;
};

typedef basic_array<float, 5> myArray;

::std::list<array> MyListWithArrayInsert;


Operator [] ist drin, ist auf float mit 5 Einträgen ausgelegt.

- Patrick
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 11.03.2005, 19:46    Titel: Antworten mit Zitat

jo, ist ne gute Möglichkeit
aber bevor man eine eigene Vectorclass schreib, soltle man doch eher die aus der stl nehmen, oder?
Nun ich bin aber irgendwie ein bisschen zu blöd, eine list zu machen, die vectoren aus floats beinhaltet die alle die feste Größe 3 haben.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 11.03.2005, 20:04    Titel: Antworten mit Zitat

vielleicht machste ne Struktur mit en paar float-vectoren... Wieso willste denn, dass alle die Größe drei haben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 11.03.2005, 20:10    Titel: Antworten mit Zitat

naja, ich wollte es halt irgendwie so, das ich nix zusätzliches bruache, also nicht die Klasse von Patrick, oder eine Struktur. Deshalb dachte ich halt an einen Vector. Und es soll erstmal die größe 3 haben, weil damit eine 3dimensionale Position gespeichert wird.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 14.03.2005, 11:04    Titel: Antworten mit Zitat

Dann erstell dir ein Struct, mit den 3 Floats und pack dass in deine List...
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 14.03.2005, 12:45    Titel: Antworten mit Zitat

AFE-GmdG hat Folgendes geschrieben:
Dann erstell dir ein Struct, mit den 3 Floats und pack dass in deine List...


Ach das ist doch nix, nochnichtmal vorausschauend!

Was ist wenn er Lichtberechnungen noch haben will? Soll er dann eine Struct mit 6 floats erstellen? Was wenn er noch Multitexturing haben will? dann sind wir bei 10 floats, wieder ne Struct?

Was wenn er andere Datentypen benutzen will wie z.B. double oder unsigned int?

Besser oben mein Template als den Quellcode mit sinnlosen structs vollbomben Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 14.03.2005, 13:16    Titel: Antworten mit Zitat

ich habs nun anders, indem ich einfach mehrere Vectoren genommen habe. Einen für Positiontn, einen für Normvecs usw.
Das funktioniert jetzt eigneltihc ziemlich gut.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum