[noob] vector<struct> problem
-
DrGreenthumb schrieb:
Die Erklärung tut was zur Sache, oder hast du schonmal
typedef class
{
..
} MyClass;gesehen?
Guck halt in ein x-beliebiges C++ Buch.
es ging aber um structs nicht um klassen
mein compiler mosert bei deiner lösung bei meiner nicht komisch nicht oder ?
zwar nur warnungen aber ist ja egal
-
1ntrud0r schrieb:
es ging aber um structs nicht um klassen
Ja, der Witz ist, structs *sind* Klassen. Das wollt ich mit meinem Post aussagen.
mein compiler mosert bei deiner lösung bei meiner nicht komisch nicht oder ?
zwar nur warnungen aber ist ja egalNaja, dein Compiler ist kaputt.
-
DrGreenthumb hat trotzdem Recht. In C++ werden structs folgendermaßen erstellt:
struct myStruct{};
Und dass structs eigentlich Klassen sind, tut eben deswegen zur Sache, weil sie auf die gleiche Art und Weise erstellt werden.
-
ich weiss eigentlich nicht was ihr gegen mein typedef struct {} habt
typedef class
{
..
} MyClass;gesehen?
sowas ähnliches seh ich hier ..
http://gotw.ca/gotw/079.htmoh und was ist da ...
zitat : Why use typedef? Besides the many traditional reasons, we'll consider typedef techniques that make using the C++ standard library safer and easier.
quelle : http://gotw.ca/gotw/046.htmDrGreenthumb hat trotzdem Recht. In C++ werden structs folgendermaßen erstellt:
C/C++ Code:
struct myStruct{};
C/C++ Code:
.
Und dass structs eigentlich Klassen sind, tut eben deswegen zur Sache, weil sie auf die gleiche Art und Weise erstellt werden.das kann ich nur so stehen lassen ... fluxx du bist der gott
z.T. Warnung ist folgendes hier : W8026 Funktionen Übernimmt als Argument Klassen per Wert werden nicht als Inline expandiert
-
1ntrud0r schrieb:
sowas ähnliches seh ich hier ..
http://gotw.ca/gotw/079.htmoh und was ist da ...
zitat : Why use typedef? Besides the many traditional reasons, we'll consider typedef techniques that make using the C++ standard library safer and easier.
quelle : http://gotw.ca/gotw/046.htmHat nur garnix mit dem hier zu tun.
-
DrGreenthumb schrieb:
1ntrud0r schrieb:
sowas ähnliches seh ich hier ..
http://gotw.ca/gotw/079.htmoh und was ist da ...
zitat : Why use typedef? Besides the many traditional reasons, we'll consider typedef techniques that make using the C++ standard library safer and easier.
quelle : http://gotw.ca/gotw/046.htmHat nur garnix mit dem hier zu tun.
aber mit deiner frage.. ob ich sowas schonmal gesehen hab !!!!!!!!!!
der rest ist selbsterklären in meinem post ...
wenn du keine antwort haben willst dann frag in zukunft nicht mehr ...
-
1ntrud0r schrieb:
typedef class
{
..
} MyClass;gesehen?
sowas ähnliches seh ich hier ..
http://gotw.ca/gotw/079.htmIch nicht.
-
1ntrud0r schrieb:
aber mit deiner frage.. ob ich sowas schonmal gesehen hab !!!!!!!!!!
der rest ist selbsterklären in meinem post ...
Dann zitier mal wo du das siehst :p
-
DrGreenthumb schrieb:
Dann zitier mal wo du das siehst :p
Die Klassendeklaration ist weiter oben das kannst dir hoffentlich denken ..
Hier nen schönes template typedef .)template<class T>
struct Registry
{
typedef std::map<std::string, T> Type;
};
-
mir scheint du bist der syntax nicht ganz mächtig.
-
DrGreenthumb schrieb:
mir scheint du bist der syntax nicht ganz mächtig.
hmm eigentlich schon ... Du solltest halt manchmal vielleicht ein bisschen mehr kombinieren ... die folge -> lesen -> denken -> lesen -> denken -> schreiben solltest du dir eventuell angewöhnen ..
ne map mit | nem std::string , und ner klasse t werden als typ type bekannt gemacht ... ist doch ne sinnige verwendung von typedef mit klassen und andren typen ..
es ging in dem ganzen post nur darum das typedef struct {} irgendnentyp; keine fehlermeldungen gebracht hat und deine ausführungen fehler/warnungen gebracht haben ..
-
1ntrud0r schrieb:
Du solltest halt manchmal vielleicht ein bisschen mehr kombinieren ... die folge -> lesen -> denken -> lesen -> denken -> schreiben solltest du dir eventuell angewöhnen ..
Glashaus, Steine.
DrGreenthumb hat gefragt, ob Du schonmal Quelltext wie
typedef class { /* ... */ } Foo;
gesehen hast (Dieser Quelltext ist übrigens einwandfrei in Ordnung). Du hast ein Beispiel gebracht, in dem ein 'typedef' vorkam. Zusammenhang?
Die Ursprungsbehauptung deinerseits, es gäbe einen Unterschied zwischen »struct Foo {};« und »typedef struct {} Foo;«, ist übrigens unwahr. Es gibt, abgesehen von Rückwärtskompatibilität zu C keine Gründe die zweite Schreibweise vorzuziehen. Sie trägt nur zur Verwirrung bei, wie man an diesem Thread sehen kann, nicht?
-
es muss doch unterschiede geben sonst würde er(mein compiler) bei typedef struct auch warnungen ausgeben oder ?
bei class macht er das typedef doch implizit oder irre ich mich ?
-
Dann poste doch mal eine Warnung, die irgendetwas mit dem Weglassen des "typedef" zu tun hat. Die mit der Inline-Expansion sieht nicht danach aus, auf jeden Fall nicht ohne mehr Kontext.