简单的转换无法工作
Simple transform tolower not working
所以我看到了很多类似的问题,但没有一个答案能解决我的问题。有人能解释为什么这个代码:吗
string LinkedListByName::toLower(string stringToConvert){
return std::transform(stringToConvert.begin(), stringToConvert.end(), stringToConvert.begin(), ::tolower); }
给我这个错误:
conversion from `__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' to non-scalar type `std::string' requested
在这个项目中,我需要将许多字符串转换为更低的字符串,而boost不是一个选项。我从以前的项目中复制并粘贴了这段代码。
此外,头文件还包括以下内容:
#include <vector>
using namespace std;
#include <iostream>
using namespace std;
#include <string>
using namespace std;
#include <algorithm>
#include "Node.h"
namespace model {
您的方法应该返回字符串,但您尝试从std::transform返回迭代器。更改为:
string LinkedListByName::toLower(string stringToConvert){
std::transform(stringToConvert.begin(), stringToConvert.end(), stringToConvert.begin(), ::tolower);
return stringToConvert;
}
相关文章:
- 如何定义在用作函数参数时工作的类模板的转换
- 将双精度值转换为 char 变量时字符串流如何工作
- 隐式转换是否应该在模板参数的上下文中工作?
- strcmp/char* 转换无法按预期工作
- 如何在 Poco 中将工作 HTTP 代码转换为 HTTPS
- Qt-工作线程崩溃时将cv::Mat转换为QImage
- 我的代码在作为参数传入 .begin() 时不起作用,但在我将 .begin() 转换为迭代器后工作
- 字符串文字到 char 数组的转换如何在C++中实际工作
- 将缓冲区转换为在现有程序中工作的iStream
- 更新MySQL连接器后,隐式转换停止工作
- 为什么Arduino(小端序)上的Sha1在没有转换为大端序的情况下工作?
- 如何使转换功能工作?
- 以下对二进制转换代码的小数如何工作
- 隐式转换未按预期工作
- 尝试将工作python程序转换为C++但不起作用
- 字符串到字符指针的转换如何在C++中工作
- 如何将负数转换为更广泛的类型在内部工作
- 十六进制、二进制和 oct 到 dec 转换器无法正常工作C++
- 使用模板无法按预期工作进行继承和强制转换
- 超级强大:实时音调转换,时间扩展器不工作