【发布时间】:2018-02-04 16:31:23
【问题描述】:
我想编写 c++ 代码,它将所有与输入值长度相同的元素分开
#include <iostream>
#include <vector>
using namespace std;
string database[] = {"green", "stupid", "boy", "girl", "forest", "mobile", "morning", "love", "keyboard", "incredible"};
string input;
string count(string input, string database[]){
string lengthFilter[] = {};
int inputLength = input.length();
for (int i = 0; i < database->length(); ++i){
if (database[i].length() == inputLength)
{
lengthFilter[lengthFilter->length()] = database[i];
}
}
return (lengthFilter);
}
int main()
{
cin >> input;
cout << count(input, database);
return 0;
}
但它给出了错误
main.cpp: In function 'std::__cxx11::string count(std::__cxx11::string, std::__cxx11::string*)':
main.cpp:16:22: error: could not convert 'lengthFilter' from 'std::__cxx11::string [0] {aka std::__cxx11::basic_string<char> [0]}' to 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}'
return (lengthFilter);
^
exit status 1
我找不到我的错误,请帮助我。
【问题讨论】:
-
编译器错误信息的哪些字符你不明白?
-
lengthFilter 是一个字符串数组,你需要返回一个字符串或者改变你的count函数的签名。
-
您的问题的标题具有误导性。
exit status 1将出现在编译器检测到的任何错误上。另外,为什么要使用std::string的原始数组?请改用std::vector<std::string>。
标签: c++ arrays function compiler-errors exitstatus