我正在用矢量进行有趣的编码,但是后来碰到了这个错误: 错误c2064:“该术语未返回接受1个参数的函数”; 如函数声明中所述,当我调用函数“ ins”并传递矢量“ Vett”作为参数时,错误在第33行给出。
代码:
struct Num_and_Car {
int n;
char c;
`};`
bool pari (Num_and_Car Acces) {
if (Acces.n % 2 == 0)
return true;
else return false;`
}
void ins (std::vector <Num_and_Car>Vettore) {
int ins;
for (int i = 0; Vettore[i].n != 0; i++) {
std::cin >> ins;
std::cout << "Succesfull\n";
if (ins == 0)
break;
else
Vettore.push_back({ ins });
std::cout << "Succesfull\n";
}
}
int main () {
int ins = 0;
std::vector <Num_and_Car> Vett;
std::cout <<"Succesfull\n";
Vett.push_back({1 });
ins (Vett);
std::cout <<"Succesfull\n";
int n = std::count_if(Vett.begin(), Vett.end(), pari);
std::cout << n <<"pari\n";
std::cin >> n;
}
感谢您的帮助。
答案 0 :(得分:1)
主要,您同时使用“ ins”作为变量名和函数名。该变量隐藏了该函数,然后您尝试使用该变量,就好像它是函数一样-无效。
重命名main中的局部变量,并删除字符grave(`)放置在任何地方,然后代码将正常工作。