-2
我在Dev C中有這個錯誤。它說有關於指針的錯誤,但我沒有使用指針。C模擬templade錯誤
[錯誤]從 '詮釋*' 無效轉換到 'INT'[-fpermissive]
該錯誤是在這條線:
E=suma1 + distancias [x,y];
(凡suma1
和E
是整數和distancias
是矩陣)
我在Dev C中有這個錯誤。它說有關於指針的錯誤,但我沒有使用指針。C模擬templade錯誤
[錯誤]從 '詮釋*' 無效轉換到 'INT'[-fpermissive]
該錯誤是在這條線:
E=suma1 + distancias [x,y];
(凡suma1
和E
是整數和distancias
是矩陣)
表達式x,y
實際上是C和C++中的一個單值。它評估都x
和y
但給你你單個值y
。你可以看到在行動這一點,如果你嘗試:
#include <stdio.h>
int main (void) {
int a;
a = (1, 2, 3, 4, 5);
printf ("%d\n", a);
return 0;
}
將輸出5
。
因此你目前的表達distancias [x,y]
正在評估是一個簡單的distancias [y]
(因爲這裏評估x
有沒有副作用),這就是爲什麼它在抱怨的int
指針正在使用其中一個int
的預期。
多維數組的正確語法是distancias [x][y]
。
嘗試'distancias [x] [y]'。逗號在C/C++中做了一些不同的事情。 – Brian