visual studio报错问题
本帖最后由 广东范戴克 于 2022-12-9 15:56 编辑复制小甲鱼老师的S1E24中课后作业测试题0的代码到vs上会显示报错,编译器提示最后一行有问题
error C2040: “p”:“char *”与“int (*)”的间接寻址级别不同
int array = { {0, 1, 2}, {3, 4, 5} };
int(*p) = array;
char matrix = {
'I', 'l', 'o', 'v', 'e',
'F', 'i', 's', 'h', 'C',
'.', 'c', 'o', 'm', '!'
};
char* p = &matrix;
(另外有点不太会贴图,有没有大佬顺便教一下) #include"stdio.h"
int main()
{
int array = { {0, 1, 2}, {3, 4, 5} };
int(*p) = array;
char matrix = {
'I', 'l', 'o', 'v', 'e',
'F', 'i', 's', 'h', 'C',
'.', 'c', 'o', 'm', '!'
};
char *pc = &matrix;
return 0;
}
你的 p 定义了两次,改一个就OK了{:10_262:} 说来也怪,VS 的报错真的很难理解,我在DEV-C++的报错却是:
conflicting types for 'p'
意思是,p 的类型冲突,这就很好的说明 p 在之前已经定义过了,而且定义成了不同类型的变量 你的 p 在之前就定义过了
页:
[1]