
std::map<std::string, std::string> a; std::string m = 2; //编译失败 a["hello"] = 1; //编译成功 为什么呢
1 Orchestraa 2025 年 2 月 11 日 m 是构造,a 是赋值 |
2 Shatyuka 2025 年 2 月 11 日 构造函数不要 char ,赋值可以。 试试: ```cpp std::string n; n = 3; ``` |
3 yanqiyu 2025 年 2 月 11 日 构造函数没有接一个 char 的构造[1],但是有接一个 char 的 assign[2] [1]: https://en.cppreference.com/w/cpp/string/basic_string/basic_string [2]: https://en.cppreference.com/w/cpp/string/basic_string/operator%3D |
4 Opportunity 2025 年 2 月 11 日 前一个是拷贝构造,后一个是赋值。 ``` std::string m; m = 2; ``` 也可以的。https://en.cppreference.com/w/cpp/string/basic_string/operator%3D 看示例 6 |