c++ - 警告:使用 string::find_first_not_of 时从 int 截断为 char

标签 c++

我们尝试清理我们的项目并删除所有警告。 我收到这条线的警告:

if(line.find_first_not_of('\n\t ') != string::npos) {

warning C4305: 'argument' : truncation from 'int' to 'char'

我不知道该怎么做...两个值都是 size_t,不知道为什么会提示。

最佳答案

警告具有误导性。它应该警告有关多字符到字符的转换,因为您使用的是 '\n\t'(多字符)而不是 "\n\t"(这是一个字符串)。

无论如何,你需要在这里使用双引号:

 if(line.find_first_not_of("\n\t ") != string::npos)

希望对您有所帮助。

关于c++ - 警告:使用 string::find_first_not_of 时从 int 截断为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487907/

相关文章:

c++ - const char myStr[] = "hello"和 const char* myStr = "hello"有什么区别

c++ - 如何在 C++ 中遍历句子中的单词?

c++ - 在加载的共享库中捕获异常

c++ - std::set::insert() 可以调用赋值运算符吗?

c++ - 如何使用 SWIG 在进程和被调用的脚本子进程之间共享一个库?

c++ - 字符串与特殊字符的匹配

c++ - 在 C++ 中存储大矩阵的列索引子集的最有效方法是什么?

c# - 通过 COM 将 C++ 中的复杂对象传递给 C#

c++ - 读取文件时如何将字符串转换为字符数组?

c++ - 我怎样才能让编译时 const 对象配置有可变长度的数据 block ?