2013-02-08 16 views
-1

我在代码:: Blocks的工作的一个项目在C.不兼容的类型分配,必须键入 - Visual C

我编译时出现错误:“不兼容的类型分配给输入从‘双*’时在第81,85,90,91行上输入'double'“。

该项目将采用单位转换工具并包含多个函数,而不是main()下的所有函数。

http://pastebay.net/1181184

+2

请勿使用外部链接引用代码。 (我们怎么知道它没有被病毒填满?)将您的代码缩小到一个有意义的小尺寸,并将其直接放在问题中。 – abelenky

+0

现在链接404s。 –

回答

4

尝试取消引用指针:

*pKelvin = PROD((fahrenheit+459.67),ytemp); 
^ 
+1

哈哈你也打我吧 – u8sand

2

你得到错误的所有都围绕着一个主题。走这条线,例如:

pKelvin = PROD((fahrenheit+459.67),ytemp); 

这里,pKelvin具有类型double*,这意味着它是一个指针double类型的对象。另一方面,右侧有double,这意味着它是一个实际的double。 C正在抱怨,因为您不能将double s分配给double* s,因为它们代表了根本不同的类型。

为了解决这个问题,你可能想要写

*pKelvin = PROD((fahrenheit+459.67),ytemp); 

这是说“存储PROD((fahrenheit+459.67),ytemp)double值在由pKelvin指出,这工作,因为你现在分配double到的对象键入double

更一般地,如果你看到这样一个错误,这可能意味着你要指定一个指向一个非指针,反之亦然。

^h这有助于!

相关问题