编程新手,无法将数组传递给使用struct的函数。有任何想法吗?编译器生成错误“从不兼容的类型天气中分配给Double”。 在此先感谢/从不兼容的类型分配到Double?
struct Weather
{
double TotalRainfall[12];
double HTemperature[12];
double LTemperature[12];
double AverageTemperature[12];
};
Weather AverageTemp(Weather *W, int size)
{
for(int i = 1;i<=12;i++)
{
return W[i].HTemperature[i]+W[i].LTemperature[i];
}
}
int main()
{
Weather W[12];
int size =12;
for(int i = 1;i<=12;i++)
{
cout << "Enter Total Rainfall in " << i << " month";
cin >> W[i].TotalRainfall[i];
cout << " Enter the highest temperature " << i << " month";
cin >> W[i].HTemperature[i];
cout << " Enter the Lowest temperature " << i << " month";
cin >> W[i].LTemperature[i];
}
for(int i = 1;i<=12;i++)
{
W[i].AverageTemperature[i]= AverageTemp(W, size);
}
看看你的代码。 'AverageTemp()'返回什么?什么是W [i] .HTemperature [i]'?你认为这应该起作用吗? – NathanOliver
在你的函数'AverageTemp(..)'中你定义它返回'Weather'结构,但是在你的'return'语句中你返回'double'。 另外,在你的'for .. loop'中,整个函数将在第一次迭代中完成..(可能存在逻辑错误)! – Lincoln
此外,K元素的数组从0到K-1索引。 – molbdnilo