小编win*_*ino的帖子

C++错误:转换为非标量类型

我似乎在下面的代码段中有一个特殊的错误(忽略多余的头文件和空白的主函数,我只是想把这个问题隔离成一个可编译的.cpp文件,在这里发布).它表示错误从'[某种类型我定义]'转换为非标量类型'[某种类型我定义]'.

这个特定示例中的代码应该将一组字符串列表作为一个输入参数(命名为输入),并将字符串列表引用为另一个(命名输出)并计算字符串中最长的公共前缀列表输入中的列表并将结果存储到输出中.

编译器错误消息(也作为相应行中的注释包含在内:

lcp.cpp:28:47:错误:从' std::list<std::basic_string<char> >::const_iterator {aka std::_List_const_iterator<std::basic_string<char> >}' 转换为非标量类型' std::list<std::basic_string<char> >::iterator {aka std::_List_iterator<std::basic_string<char> >}'请求

这是实际的程序:

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <list>

using namespace std;

void getLongestCommonPrefix(set <list <string> > & input, list <string> & output)
{

    set <list <string> > :: iterator it = input.begin();

    output = *it;

    for(; it != input.end(); ++it)
    {
        if(output.size() > (*it).size())
        {
            list <string> :: iterator it1 = output.begin();
            advance(it1, (*it).size()-1);
            output.erase(it1, output.end()); …
Run Code Online (Sandbox Code Playgroud)

c++ string iterator stl syntax-error

5
推荐指数
1
解决办法
9539
查看次数

标签 统计

c++ ×1

iterator ×1

stl ×1

string ×1

syntax-error ×1