鱼C论坛

 找回密码
 立即注册
查看: 2470|回复: 3

[已解决]visual studio报错问题

[复制链接]
发表于 2022-12-9 15:49:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 广东范戴克 于 2022-12-9 15:56 编辑

复制小甲鱼老师的S1E24中课后作业测试题0的代码到vs上会显示报错,编译器提示最后一行有问题
error C2040: “p”:“char *”与“int (*)[3]”的间接寻址级别不同
int array[2][3] = { {0, 1, 2}, {3, 4, 5} };
        int(*p)[3] = array;

        char matrix[3][5] = {
                                'I', 'l', 'o', 'v', 'e',
                                'F', 'i', 's', 'h', 'C',
                                '.', 'c', 'o', 'm', '!'
        };
        char* p = &matrix[0][3];
(另外有点不太会贴图,有没有大佬顺便教一下)
最佳答案
2022-12-9 21:07:19
#include"stdio.h"

int main()
{    
        int array[2][3] = { {0, 1, 2}, {3, 4, 5} };
    int(*p)[3] = array;

    char matrix[3][5] = {
            'I', 'l', 'o', 'v', 'e',
        'F', 'i', 's', 'h', 'C',
        '.', 'c', 'o', 'm', '!'
    };
    char *pc = &matrix[0][3];
    
    return 0;
}
你的 p 定义了两次,改一个就OK了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-9 21:07:19 | 显示全部楼层    本楼为最佳答案   
#include"stdio.h"

int main()
{    
        int array[2][3] = { {0, 1, 2}, {3, 4, 5} };
    int(*p)[3] = array;

    char matrix[3][5] = {
            'I', 'l', 'o', 'v', 'e',
        'F', 'i', 's', 'h', 'C',
        '.', 'c', 'o', 'm', '!'
    };
    char *pc = &matrix[0][3];
    
    return 0;
}
你的 p 定义了两次,改一个就OK了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-9 21:09:14 | 显示全部楼层
说来也怪,VS 的报错真的很难理解,我在DEV-C++的报错却是:
[Error] conflicting types for 'p'
意思是,p 的类型冲突,这就很好的说明 p 在之前已经定义过了,而且定义成了不同类型的变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-10 20:06:50 | 显示全部楼层
你的 p 在之前就定义过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表