Meine eigene 'Datentyp'
Ich möchte in der Lage sein, erstellen a Art, die hat 3 floats (x,y,z). Ich habe versucht:
typedef struct
{
float x;
float y;
float z;
} Vertex;
Aber das hat nicht funktioniert.
Muss das deklariert werden, irgendwo, wo es gesehen werden kann, der main
? Wie würde ich mich über das erstellen von getter-Methoden und andere Methoden für ein Typ, den ich gemacht haben?
- Welchen Teil von " es "fehlgeschlagen"? Können Sie uns einen Hinweis auf die Fehlermeldung(en)?
- äh, lese jedes Buch über C oder C++ Grundlagen?
- Ist es C oder C++?
- C++ "Vertex war nicht deklariert, in diesem Umfang"
- Getter/setter sind nicht wirklich anwendbar auf Strukturen. Sie finden sich in Klassen, die in C++, nicht in C
- Das ist C, nicht C++. Sie erklären, eine Unbenannte struct, und typedefing es. Da die Struktur hat keinen Namen, es kann nicht ein " nicht-Standard-Konstruktor für eine Instanz. Bitte verwenden
struct Vertex { float x, y, z; };
statt. - Bitte denken Sie daran, immer wählen Sie Ihre Sprache.
- Sehr traurig über meine mangelnde Informationen und alle, erste Zeit mit dieser Seite... geschweige irgend eine Website, Fragen zu stellen 😛 werde versuchen genauer zu sein in der Zukunft 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. In der Regel die Klasse oder Struktur deklariert in der header-Datei, die Sie
#include
in welcher übersetzungseinheit (c-Datei), die Sie verwenden es in.Wie ich es tun würde, in C++. Siehe main() zum Beispiel. N. B. Dies wurde nicht kompiliert oder getestet.
p.x
oderp.getX()
wissen, dass 1) die Klasse wird sich nie ändern 2) es gibt x -, y-und z-member-variable, es ist ein Geheimnis für niemand 3) Getter und setter sind böse ?std::vector
,boost::array
, ...) ?struct Point3d { double x, y, z; }
?Verwendung von C, das funktioniert für mich