鱼C论坛

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

[已解决]visual studio报错问题

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

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

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

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

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

  3.         char matrix[3][5] = {
  4.                                 'I', 'l', 'o', 'v', 'e',
  5.                                 'F', 'i', 's', 'h', 'C',
  6.                                 '.', 'c', 'o', 'm', '!'
  7.         };
  8.         char* p = &matrix[0][3];
复制代码

(另外有点不太会贴图,有没有大佬顺便教一下)
最佳答案
2022-12-9 21:07:19
  1. #include"stdio.h"

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

  6.     char matrix[3][5] = {
  7.             'I', 'l', 'o', 'v', 'e',
  8.         'F', 'i', 's', 'h', 'C',
  9.         '.', 'c', 'o', 'm', '!'
  10.     };
  11.     char *pc = &matrix[0][3];
  12.    
  13.     return 0;
  14. }
复制代码

你的 p 定义了两次,改一个就OK了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

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

  6.     char matrix[3][5] = {
  7.             'I', 'l', 'o', 'v', 'e',
  8.         'F', 'i', 's', 'h', 'C',
  9.         '.', 'c', 'o', 'm', '!'
  10.     };
  11.     char *pc = &matrix[0][3];
  12.    
  13.     return 0;
  14. }
复制代码

你的 p 定义了两次,改一个就OK了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-9 21:09:14 | 显示全部楼层
说来也怪,VS 的报错真的很难理解,我在DEV-C++的报错却是:
  1. [Error] conflicting types for 'p'
复制代码

意思是,p 的类型冲突,这就很好的说明 p 在之前已经定义过了,而且定义成了不同类型的变量
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-10 20:06:50 | 显示全部楼层
你的 p 在之前就定义过了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 22:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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