Ik heb wat ervaring met Java en moet nu een project doen in C++. Ik heb verschillende klasses gemaakt, een aantal hiervan hebben een GLfloat[4] nodig dat een kleur voorstelt. Nou leek het me wel leuk om net als ik in Java zou doen, een klasse Color te maken, met daarin een aantal constanten, die ik door het hele project kan gebruiken. Dus heb ik Colors.h gemaakt:
en Colors.cpp:
Maar hoe gebruik ik dat dan in de andere klassen? Ik include Colors.h daar, en wil dan Colors::RED gebruiken als constante, maar dan krijg ik de melding "undefined reference to `std::Colors::RED'". Wat is er nou mis, of hoe zou ik 't anders moeten doen in C++?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #ifndef COLORS_H_
#define COLORS_H_
#include "/usr/include/GL/gl.h"
namespace std {
class Colors {
public:
static const GLfloat RED[4];
};
}
#endif /*COLORS_H_*/ |
en Colors.cpp:
code:
1
2
3
4
5
| #include "Colors.h"
namespace std {
static const GLfloat RED[4] = { 1.0, 0.0, 0.0, 1.0 };
} |
Maar hoe gebruik ik dat dan in de andere klassen? Ik include Colors.h daar, en wil dan Colors::RED gebruiken als constante, maar dan krijg ik de melding "undefined reference to `std::Colors::RED'". Wat is er nou mis, of hoe zou ik 't anders moeten doen in C++?