C++ 将此类数据作为字符串进行比较时出现问题

C++ 将此类数据作为字符串进行比较时出现问题,c++,arrays,C++,Arrays,我本来打算返回一个数组的索引,该数组的字符串索引为(字符串值,字符串数据[],int size),但编译会返回附加代码中的错误 string index_of(string value, string data[], int size) { for(int i = 0; i < size; i++) { if( value[i] = data ) { write(value); value.pu

我本来打算返回一个数组的索引,该数组的
字符串索引为(字符串值,字符串数据[],int size)
,但编译会返回附加代码中的错误

string index_of(string value, string data[], int size)
{
    for(int i = 0; i < size; i++)
    {
        if( value[i] = data )
        {
            write(value);
            value.push_back(i);
        }
    }
    value.push_back(-1);
}
字符串索引(字符串值、字符串数据[]、整数大小) { 对于(int i=0;i 错误:从不兼容的类型“std::uu 1::string*”(也称为“basic_string*”)分配到“std::u 1::basic_string::value_type”(也称为“char”)

if(值[i]=数据)

if(值[i]=数据)

此行是赋值,因为您正在使用赋值(
=
)运算符。您应该使用比较运算符
==
进行比较

值的类型为字符串,但数据是字符串数组。上面的语句试图将字符串数组(std::string*)分配给字符串中的字符(char)。这是不可能的,因此编译器错误

您应该这样做:

if (value == data[i])
我不确定你在这个函数中想做什么。您是否试图在给定字符串所在的数组中返回索引?在这种情况下,您应该返回一个整数,而不是字符串。您可以按如下方式更改功能:

int index_of(string value, string data[], int size)
{
    int index(-1);

    for(int i = 0; i < size; i++)
    {
        if (value == data[i])
        {
            write(value);
            index = i;
            break;
        }
    }

    return index;
}
int索引_of(字符串值,字符串数据[],int大小)
{
整数指数(-1);
对于(int i=0;i
if(值[i]=数据)

此行是赋值,因为您正在使用赋值(
=
)运算符。您应该使用比较运算符
==
进行比较

值的类型为字符串,但数据是字符串数组。上面的语句试图将字符串数组(std::string*)分配给字符串中的字符(char)。这是不可能的,因此编译器错误

您应该这样做:

if (value == data[i])
我不确定你在这个函数中想做什么。您是否试图在给定字符串所在的数组中返回索引?在这种情况下,您应该返回一个整数,而不是字符串。您可以按如下方式更改功能:

int index_of(string value, string data[], int size)
{
    int index(-1);

    for(int i = 0; i < size; i++)
    {
        if (value == data[i])
        {
            write(value);
            index = i;
            break;
        }
    }

    return index;
}
int索引_of(字符串值,字符串数据[],int大小)
{
整数指数(-1);
对于(int i=0;i