为什么这个错?
- Config.h
class Config: {
public:
void read();
std::string operator[](std::string key);
....
};
Run Code Online (Sandbox Code Playgroud)
- app.cpp
Config *config;
config->read();
std::string a=config["sysname"]; // this line error
Run Code Online (Sandbox Code Playgroud)
config是一个指针,调用它的语法如此有效的方式operator[]将
(*config)["sysname"]
Run Code Online (Sandbox Code Playgroud)
要么
config->operator[]("sysname")
Run Code Online (Sandbox Code Playgroud)
混淆错误消息的原因是调用operator[]指针在语法上是正确的,但参数是一个整数类型:
int* p;
p[42];
Run Code Online (Sandbox Code Playgroud)
请注意,在您的代码config中并未指向有效Config对象.
| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |