我想定义一个结构,其中将存储一些数学常数。
这是我现在所拥有的:
struct consts {
//salt density kg/m3
static const double gamma;
};
const double consts::gamma = 2350;
它可以正常工作,但是会有超过10个浮点常量,因此我不想在每个常量之前都写“static const”。并定义如下内容:
static const struct consts {
//salt density kg/m3
double gamma;
};
const double consts::gamma = 2350;
看起来不错,但出现以下错误:
1.不允许重新声明成员函数
2.不能在其类之外定义非静态数据成员
我想知道是否有任何C++方式可以做到这一点?
最佳答案
使用 namespace ,而不要尝试将结构构造为 namespace 。
namespace consts{
const double gamma = 2350;
}
访问数据的方法也具有完全相同的语法。因此,例如:
double delta = 3 * consts::gamma;
关于c++ - C++中的静态结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3023643/