从类型"int"分配给类型"结构蛋白"时不兼容的类型

  • 本文关键字:类型 不兼容 int 分配 结构 c
  • 更新时间 :
  • 英文 :


我已经在程序的这一部分工作了一段时间,但我似乎无法弄清楚最后一点是什么问题。

对于" protein_powders [最大] = temp;"行。我会收到以下错误:分配给类型'int''int'

键入" struct蛋白"时的不兼容类型

我该如何修复?

预先感谢!

 void selection_sort(struct protein protein_powders[], int n)
 {
   struct protein temp;
   int i, largest = 0, temp;  
   if (n == 1)  
   return;
for (i = 1; i < n; i++)
{   
if (protein_powders[i].averageReview < 
 protein_powders[largest].averageReview)   
       largest = i;  
   if (largest < n - 1) 
  {temp = protein_powders[n-1];}
protein_powders[n-1] = protein_powders[largest];  
protein_powders[largest] = temp;   
selection_sort(protein_powders, n - 1);
}

您正在使用哪种语言和哪种编译。您的代码有几个疑问。首先,同一可变温度的重复声明。它应该抛出编译错误,例如error: conflicting declaration ‘protein temp’。 只需选择其他名称即可解决您的问题。

您的代码中有 struct protein temp;int temp;,这会引起各种混乱(对您和编译器(。

看起来您只需要结构版本。如果您确实需要将int版本重命名为 temp_index或类似版本。

启用所有警告可能会突出显示这是一个问题。

最新更新