使用substr的错误
Error using substr
我正在尝试编写一个从字符串的开始和结尾删除空格的函数,而我继续遇到错误
error C3867: 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length': function call missing argument list;
use '&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length' to create a pointer to member"
这是我的源代码
string trim(string str)
{
int i = 0;
for (char c : str)
{
if (!isspace(c))
break;
i++;
}
string trimmed = str.substr(i, (str.length-i));
i = 0;
for (char c : str)
{
if (isspace(c))
break;
i++;
}
trimmed = trimmed.substr(0, i);
return trimmed;
}
怎么了?
而不是
string trimmed = str.substr(i, (str.length-i));
使用
string trimmed = str.substr(i, (str.length()-i));
length()
它是一个函数,而不是成员。这在其他语言中的处理方式有所不同。
请注意,size()
是length()
的同义词。
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- C++ 中的 substr C3867 错误
- 文本文件中的第一个字符会导致 .substr() 错误
- std::string.substr 运行时错误
- 使用substr的错误
- 使用 string::find 和 string::substr 拆分字符串的函数返回错误的标记
- substr导致分割错误
- C++ 为什么此错误"basic_string::substr"并破坏循环