gpt4 book ai didi

c++ - C++错误: expected ',' or ';' before '{' token when their is

转载 作者:行者123 更新时间:2023-12-02 11:11:46 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,该函数将返回传递给该函数的字母的字母位置
例如

cout<<getPosition('l')

会返回整数12。我相当确定我的逻辑正确,但是语法有些麻烦。我发现了很多类似的问题,但是仍然无法解决问题。
任何帮助表示赞赏
#include <iostream>
using namespace std;

int getPosition(letter)
{
int pos = 0;
const char alphabet[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
for (int counter=0; counter!=26; counter++)
{
if (alphabet[counter] == letter)
{
pos = counter;
break;
}
}
return pos;
}

int main()
{
string letter = 'r';
cout << posInAlpha(letter);
return 0;
}

最佳答案

您正在混合std::stringchar,而不需要第一个。此外,您的main()使用未声明的函数。此外,函数的参数缺少它的类型。您的编译器应对此有很好的解释。我修改了您的代码以获得所需的行为;请花一两分钟的时间了解必须在此处进行的修改:

#include <iostream>
using namespace std;

// Returns the index of 'letter' in alphabet, or -1 if not found.
int getPosition(char letter)
{
int pos = -1;
const char alphabet[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
for (int counter=0;counter!=26;counter++)
{
if (alphabet[counter]==letter)
{
pos=counter;
break;
}
}
return pos;
}

int main()
{
char letter='r';
cout<<getPosition(letter);
return 0;
}

输出:

17



如果 pos不属于字母,我将 letter初始化为-1。否则,该函数将返回0,这意味着 a是答案。

PS:如果 letterstd::string,则与字母的每个字母进行比较会产生编译错误,因为类型不匹配。

关于c++ - C++错误: expected ',' or ';' before '{' token when their is,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44435992/

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