const struct config{
private:
std::string file;
config() : file(getConfig()) {}
public:
std::string failsafe = file.substr(file.find("failsafe") + 12);
failsafe.resize(failsafe.find("\""));
size_t ran, price, expiry;
} *ini;
第7行-错误:此声明没有存储类或类型说明符。
我很困惑为什么我不能访问故障安全?
最佳答案
您的代码有几个问题。我放入了您的代码,并在MSVC2010中添加了一些伪代码(即:getConfig)以对其进行测试和修复。
在几乎所有情况下,Constructors(config())have to be public。毕竟如何
否则将访问它以初始化对象。我将构造函数移到了公共区域。
代码(find(),substr())必须在函数内部。 main(),对象的构造函数或某些函数/方法。我将您的代码移到了构造函数中。
我没有添加任何内容来处理错误(例如找不到所需的子字符串),但是您可以考虑添加一些代码来处理这些情况。
const struct config{
private:
std::string file;
public:
config() : file(getConfig()) {
failsafe = file.substr(file.find("failsafe") + 12);
failsafe.resize(failsafe.find("\""));
}
std::string failsafe;
size_t ran, price, expiry;
} *ini;