我在 Dev C 中遇到此错误。它表示存在有关指针的错误,但我没有使用指针。
[Error] invalid conversion from 'int*' to '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
pointer 。
多维数组的正确语法是 distancias [x][y]
。
关于c++ - 模拟模板的 C 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22187146/