gpt4 book ai didi

c++ - 无法访问结构中的字符串

转载 作者:行者123 更新时间:2023-11-28 02:51:03 25 4
gpt4 key购买 nike

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 (配置())have to be public .毕竟,如何否则将访问它以初始化对象。我将构造函数移到了公共(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;

关于c++ - 无法访问结构中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23038370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com