Ist dies der richtige Weg, um eine statische konstante Variable zu verwenden? In meiner Top-Level-Klasse (Shape)
#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
Und dann später in einer Klasse, die Shape erweitert, verwende ich Shape::pi. Ich erhalte einen Linker-Fehler. Ich habe die const double Shape::pi = 3.14... in die Datei Shape.cpp verschoben und mein Programm lässt sich dann kompilieren. Warum passiert das? Danke.