gpt4 book ai didi

c++ - 无效错误包 : C2059, C2143、C2181、C2660

转载 作者:行者123 更新时间:2023-11-28 03:33:58 28 4
gpt4 key购买 nike

这一堆错误是由一个函数引起的,这些错误都不是有效的

error C2059: syntax error : '='
error C2143: syntax error : missing ';' before '{'
error C2181: illegal else without matching if
error C2660: 'Lexicon::convertOntology' : function does not take 0 arguments
string Lexicon::convertOntology(string input, int d, string out, string temp) // C2059; C2143
{
if (in.length() == 0 && temp.length() == 0) {return out; //check for completed conversion //C2181
} else {
int r = 1;
if (d == 1) r = 0;
if (in[0] == '.' || in[0] == '-' || in == "") { //found deliminator or end //C2059; C2143
return convertOntology(in.substr(1), d, out+=vectorSearch(list, temp, 0, d, r), ""); //convert and check // C2143; C2660
} else return convertOntology(in.substr(1), d, out, temp); //increment and check
}
}

我没有放置所有错误,它们重复了 14 次——很明显这些不是错误,而是编译器解析文本的问题;上游有一些无与伦比的东西。我检查了前一个函数并检查了调用此函数之前的行,但没有发现任何内容。

如何解决这些错误?

最佳答案

首先,尽管您传递了一个名为 input 的变量,但您在整个函数中都引用了 in

其次,您还应该检查此 in[0] == '.' ||在 [0] == '-' || in == "" 在另一个顺序中,您首先检查字符串。如果字符串 为空,当您尝试访问第一个元素[0] 时,您的程序将在此处崩溃。先将放入== ""

第三,list 没有在我能看到的任何地方定义,它在这里被使用,vectorSearch(list, temp, 0, d, r), "");

最后,eww。请不要那样写 C++。 恕我直言 在一行 if 语句中排除括号并没有错,但是请尝试让所有内容都可读,这样下一个人就不会想把他们的脑袋炸了 试图弄清楚发生了什么。

string Lexicon::convertOntology(string input, int d, string out, string temp)
{
if (input.length() == 0 && temp.length() == 0)
return out;
else
{
int r = 1;
if (d == 1)
r = 0;
if (input[0] == '.' || input[0] == '-' || input == "")
return convertOntology(input.substr(1), d, out+=vectorSearch(list, temp, 0, d, r), "");
else
return convertOntology(input.substr(1), d, out, temp);
}
}

关于c++ - 无效错误包 : C2059, C2143、C2181、C2660,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11657636/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com