Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 简单转换以降低不工作的成本_C++_Tolower - Fatal编程技术网

C++ 简单转换以降低不工作的成本

C++ 简单转换以降低不工作的成本,c++,tolower,C++,Tolower,所以我看到了很多类似的问题,但没有一个答案能解决我的问题。有人能解释一下为什么这个代码: string LinkedListByName::toLower(string stringToConvert){ return std::transform(stringToConvert.begin(), stringToConvert.end(), stringToConvert.begin(), ::tolower); } 给我这个错误: conversion from `__gnu_cxx::

所以我看到了很多类似的问题,但没有一个答案能解决我的问题。有人能解释一下为什么这个代码:

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
请求从“\uu gnu\u cxx::\uu normal\u迭代器”转换为非标量类型“std::string”
在这个项目中,我需要将大量字符串转换为lower,boost不是一个选项。我从以前的项目中复制并粘贴了这段代码

此外,头文件还包括以下内容:

#include <vector>
using namespace std;
#include <iostream>
using namespace std;
#include <string>
using namespace std;
#include <algorithm>
#include "Node.h"
namespace model {
#包括
使用名称空间std;
#包括
使用名称空间std;
#包括
使用名称空间std;
#包括
#包括“Node.h”
名称空间模型{

您的方法应该返回字符串,但您尝试从std::transform返回迭代器。将其更改为:

string LinkedListByName::toLower(string stringToConvert){
    std::transform(stringToConvert.begin(), stringToConvert.end(), stringToConvert.begin(), ::tolower); 
    return stringToConvert;
}

您的方法应该返回字符串,但您尝试从std::transform返回迭代器。将其更改为:

string LinkedListByName::toLower(string stringToConvert){
    std::transform(stringToConvert.begin(), stringToConvert.end(), stringToConvert.begin(), ::tolower); 
    return stringToConvert;
}

使用namespace std;
几乎在任何时候都是个坏主意,但这肯定是我第一次看到它连续三次被使用……
使用namespace std;
几乎在任何时候都是个坏主意,但这肯定是我第一次看到它连续三次被使用……哇。出于某种原因,我挂断了它的想法返回了一个字符串,但它不是。它只对它起作用。无论哪种方式都有效,谢谢。您需要复制
字符串多少次?也许通过引用传递它会更好,而不返回任何内容。“更好”这是一个非常主观的术语,我怀疑我们能否决定什么对Nood更好。尤其是当我们的信息量如此之小时。@Slava:因此我对它进行了限定。在许多情况下,它可能不会更好。例如,在当前形式中,它可以用作一元变换函数,可以应用于某些算法,其中带有引用的变量ce不能,或者效率会更低。哇。出于某种原因,我挂断了它返回字符串的想法,但它不只是作用于它。无论哪种方式都有效,谢谢。您需要复制
字符串多少次?也许通过引用传递它会更好,而不返回任何内容。“更好”这是一个非常主观的术语,我怀疑我们能否决定什么对Nood更好。尤其是当我们的信息量如此之小时。@Slava:因此我对它进行了限定。在许多情况下,它可能不会更好。例如,在当前形式中,它可以用作一元变换函数,可以应用于某些算法,其中带有引用的变量行政长官的效率不能降低,也将降低。