2014-03-05 26 views
-2

我在Dev C中有這個錯誤。它說有關於指針的錯誤,但我沒有使用指針。C模擬templade錯誤

[錯誤]從 '詮釋*' 無效轉換到 'INT'[-fpermissive]

該錯誤是在這條線:

E=suma1 + distancias [x,y]; 

(凡suma1E是整數和distancias是矩陣)

+6

嘗試'distancias [x] [y]'。逗號在C/C++中做了一些不同的事情。 – Brian

回答

0

表達式x,y實際上是C和C++中的一個單值。它評估xy給你你單個值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]