Sehr einfach ausgedrückt:nicht aufgelöstes externes Symbol auf statische Klassenmitglieder
ich eine Klasse, die hauptsächlich aus statischen öffentlichen Mitgliedern besteht, so kann ich Gruppe ähnliche Funktionen zusammen, die noch von anderen Klassen/Funktionen aufgerufen werden müssen.
Wie auch immer, ich habe zwei statische nicht signierte char-Variablen in meiner Klasse öffentlichen Bereich definiert, wenn ich versuche, diese Werte in der gleichen Klasse 'Konstruktor zu ändern, bekomme ich ein "nicht aufgelöstes externes Symbol" Fehler bei der Kompilierung.
class test {
public:
static unsigned char X;
static unsigned char Y;
...
test();
};
test::test() {
X = 1;
Y = 2;
}
Ich bin neu in C++ so gehen Sie einfach auf mich. Warum kann ich das nicht tun?
Wenn Sie Kopf nur Bibliothek schreiben, können Sie diese Technik verwenden CPP-Datei zu vermeiden: http://stackoverflow.com/questions/11709859/how-to-have-static -data-members-in-einem-Header-only-library – ShitalShah