C++ les structures définies dans l'en-tête et mis en œuvre en rpc

Comment puis-je m'assurer que le somecolor que je mettre en œuvre conserve sa valeur lorsque vous l'utilisez dans une autre classe?

struct.h

struct Color{
   unsigned char r;
   unsigned char g;
   unsigned char b;
};
Color someColor;
//if i define the color here it says...:
Color someColor = {255,255,255}; //error: data member inializer not allowed

struct.cpp

struct::Color someColor = {255,255,255};

someotherclass.cpp

struct *str = new struct();
str->someColor.r //is not the correct value /not set
S'il vous plaît montrer le code réel. Vous ne pouvez pas avoir un struct appelé struct.
À en juger par la dernière ligne, je pense qu'il nous manque l'essentiel des informations que someColor est un membre d'une classe, pas une variable globale. Pour répondre à la question, nous aurons besoin de savoir (a) si c'est effectivement le cas; et (b) qu'il devrait y avoir une seule instance de il associé à la classe elle-même (un membre statique) ou avec chaque objet séparément (un non-membre statique).

OriginalL'auteur Sebastiaan van Dorst | 2013-04-03