所以我目前正在使用C++進行學校項目,但我並不十分熟悉。 我想創建一個類,包含我所有的常量(字符串,整數,雙,所在的班級) 我想這一點,它一直在Java中爲我工作:包含std :: string的常量的類
class Reference {
//Picture-Paths
public:
static const std::string deepSeaPath = "E:\\Development\\C++\\Material\\terrain\\deep_sea.tga";
static const std::string shallowWaterPath = "E:\\Development\\C++\\Material\\terrain\\deep_sea.tga";
static const std::string sandPath = "E:\\Development\\C++\\Material\\terrain\\deep_sea.tga";
static const std::string earthPath = "E:\\Development\\C++\\Material\\terrain\\deep_sea.tga";
static const std::string rocksPath = "E:\\Development\\C++\\Material\\terrain\\deep_sea.tga";
static const std::string snowPath = "E:\\Development\\C++\\Material\\terrain\\deep_sea.tga";
};
在C++中,然而,我得到以下錯誤:
Error C2864 'Reference::Reference::earthPath': a static data member with an in-class initializer must have non-volatile const integral type bio-sim-qt e:\development\c++\bio-sim-qt\bio-sim-qt\Reference.hpp 16 1
那麼有什麼辦法讓我存儲例如字符串常量這樣嗎? 如果是,是否還有更好的方法來做到這一點?如果不是,是否有另一種方式(#define?)?
如果你在課堂上所有的都是公共靜態成員變量(或公共靜態成員函數),那麼我建議使用一個名稱空間。 –
至於你的問題,只把*聲明*放在類(或名稱空間)中,然後把*定義*(以及它們的初始化)放在一個源文件中。 –