广东范戴克 发表于 2022-12-9 15:49:29

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;
(另外有点不太会贴图,有没有大佬顺便教一下)

zhangjinxuan 发表于 2022-12-9 21:07:19

#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:}

zhangjinxuan 发表于 2022-12-9 21:09:14

说来也怪,VS 的报错真的很难理解,我在DEV-C++的报错却是:
conflicting types for 'p'
意思是,p 的类型冲突,这就很好的说明 p 在之前已经定义过了,而且定义成了不同类型的变量

嘉岳呀 发表于 2022-12-10 20:06:50

你的 p 在之前就定义过了
页: [1]
查看完整版本: visual studio报错问题