首页 > 解决方案 > 将数组的元素传递给c ++中的函数

问题描述

我需要将结构数组的元素传递给函数。但我还是做不到。

Person 是一个嵌套结构。

//define Address structure
struct Address
{
    string Street;
    string City;
    string PostalCode;
};

//define Person structure
struct Person
{
    string Name;
    int Age;
    float Salary;
    struct Address Address;
};

// How I invoque the function
cout << "Address: " << ConcateAddress(persons[i].Address) << endl;


// Return a concatenated string with completed address of persion
string ConcateAddress(struct Address address)
{    
    string adressFinal=  address.Street + " " + address.PostalCode;
    if(!address.City.empty()){
        adressFinal = adressFinal + ", "+ address.City;
    }
}

标签: c++c++11

解决方案


您必须在函数定义的末尾添加一个 return 语句。您已成功将数组元素传递给函数,但您的函数不返回任何值。

string ConcateAddress(struct Address address)
{    
    string adressFinal=  address.Street + " " + address.PostalCode;
     if(!address.City.empty()){
          adressFinal = adressFinal + ", "+ address.City;
     }
    return adressFinal;    //return statement
}

推荐阅读