0
任何想法为什么会发生这种情况?错误:无法将类型“void *”的值分配给类型为“float *”的实体
float *image;
long size_img=par->N*par->M;
image = calloc(size_img, sizeof(float));//the compiler shows error here
的错误是
我应该做的强制转换?假的事情是我在程序的其他地方做了同样的事情,并且没有显示错误。
我有这样的一个结构的一部分,我命名为票面
long *tbegin;
,然后我做
par->tbegin = calloc(SUMA_J, sizeof (long));
而且我没有得到任何错误。
奇怪的是,它适用于另一种情况。我一直在使用gcc进行编译,但现在我使用nvcc,因为我在Cuda中有一部分代码。难道是nvcc使用gcc的情况下工作和nvcc它不工作? – Atirag
@Atirag:“其他情况”在哪里?相同的文件?其他文件?正如我上面所说的,语言的选择是基于每个文件进行的,这就是为什么它可以轻松地在一个文件中编译(编译为C)并且无法在另一个文件(编译为C++)中工作。什么是您的文件的扩展名? '.c'? '.cpp'?还有别的吗?你为每个文件传递给编译器的命令行开关是什么? – AnT
单独的文件。另一种情况是在.c文件中,错误情况在.cu文件中,所以我想就是这样。非常感谢。 – Atirag