Cannot pass object of non-trivial type ‘std::string‘ (aka ‘basic_string<char>‘) through variadic fun
这个错误提示表明,你正在尝试通过变参函数(如 printf 等)传递一个 std::string 对象,而这在 C++ 中是不允许的,因为 std::string 是一个非平凡类型(non-trivial type),它有自己的构造函数、析构函数和其他复杂的行为。c_str() 方法将 std::string 转换为 const char*,这是一个指向 C 风格字符串的指针,这样就可以安全地传递给变参函数。你需要将 std::string 转换为 C 风格的字符串(即 const char。
原创
2024-08-27 14:00:49 ·
254 阅读 ·
0 评论