Я хочу определить структуру, где некоторые математические константы были бы сохранены.
Здесь, что я имею теперь:
struct consts {
//salt density kg/m3
static const double gamma;
};
const double consts::gamma = 2350;
Это хорошо работает, но было бы больше чем 10 констант с плавающей точкой, таким образом, я не хочу, записал 'статическую константу' перед каждым из них. И определите что-то как этот:
static const struct consts {
//salt density kg/m3
double gamma;
};
const double consts::gamma = 2350;
Это выглядит хорошо, но я получил эти ошибки:
1. функция членства redeclaration не позволенный
2. нестатический элемент данных не может быть определен вне его класса
Я задающийся вопросом, если там какой-либо C++ способ сделать это?
Используйте пространство имен, а не пытайтесь превратить структуру в пространство имен.
namespace consts{
const double gamma = 2350;
}
Метод доступа к данным также имеет точно такой же синаткс. Так, например:
double delta = 3 * consts::gamma;
Похоже, вам действительно просто нужно пространство имен:
namespace consts {
const double gamma = 2350.0;
// ...
}
За исключением того, что я бы попытался придумать для него имя лучше, чем consts
.