C++ 函数返回值在数组中的位置(C+;+;,Splashkit)

C++ 函数返回值在数组中的位置(C+;+;,Splashkit),c++,arrays,C++,Arrays,因此,我设计了一个数组,用户在其中输入五个名称,终端将打印这些名称并识别最长的名称。我现在尝试引入一个函数,用户在其中输入一个名称,如果该名称在数组中,则打印该名称的位置(如果不存在该名称,则打印-1)。我使用的是Splashkit库,它有点不同。我试过几种不同的变体,但到目前为止运气不好。这就是我所拥有的 int index_of(string value, string names[], int size) { value = read_string("Enter name

因此,我设计了一个数组,用户在其中输入五个名称,终端将打印这些名称并识别最长的名称。我现在尝试引入一个函数,用户在其中输入一个名称,如果该名称在数组中,则打印该名称的位置(如果不存在该名称,则打印-1)。我使用的是Splashkit库,它有点不同。我试过几种不同的变体,但到目前为止运气不好。这就是我所拥有的

int index_of(string value, string names[], int size)
{
    value = read_string("Enter name to find index: ");
    
   for(int i = 0; i < size; i++)
   {
       if ((names[i]) == string(value))
       {
           return i;
           write_line("The index is: ");
           write(i);
       }
   }
   return -1;
}
int索引_of(字符串值、字符串名称[]、int大小)
{
value=read_字符串(“输入名称以查找索引:”);
对于(int i=0;i
它编译得很好,但就是不起作用,即使我在main中调用它。有人有什么想法吗?谢谢:)

intmain()
{
#定义尺寸5
字符串名称[大小];
int i;
i=0;
而(i
我认为这些行
写行(“索引是:”);编写(i)无效,因为返回在它们之前。试一试

write_line("The index is: ");
write(i);
return i;

您是在
write\u line()
write()
之前从函数返回的。我认为这是错误的。也可以提供调用
index_of()
的代码片段吗?嗨,Kuro,所以它在我的main末尾,我只有“int index_of(int-value,string-names[],int-size);”然后你可以粘贴
main()
吗?更新了描述:)在你的代码中你没有调用函数
index_of()
。您可能需要将
main()
返回之前的行更改为
int index=index\u of({},name,SIZE)
。另外,我认为您不需要
index_of()
中的
值作为参数。嘿,我试过了,但没什么区别:/n然后请将您面临的确切输出和错误发送给我。
write_line("The index is: ");
write(i);
return i;