¿Es esta la manera correcta de usar una variable estática const? En mi clase de nivel superior (Forma)const estático doble en C++
#ifndef SHAPE_H
#define SHAPE_H
class Shape
{
public:
static const double pi;
private:
double originX;
double originY;
};
const double Shape::pi = 3.14159265;
#endif
Y más tarde en una clase que se extiende Forma, yo uso Forma :: pi. Obtengo un error de enlazador. Moví el const double Shape :: pi = 3.14 ... al archivo Shape.cpp y mi programa luego compila. ¿Por qué sucede eso? Gracias.
Tengo el mismo problema. El problema es, si esto es una biblioteca, y quiero que mi usuario vea el valor de Shape :: pi en el archivo .h, pero no el contenido de cpp (es decir, otra definición de función). ¿Que debería hacer? –