2

我很高兴在 GDB 中进行调试,然后我遇到了一个可能包含错误值的二维数组。但是我似乎无法打印单个元素。

p array2D[0][0]

给我

无法对不完整类型执行指针数学运算,尝试强制转换为已知类型或 void *。

我试图用谷歌搜索,但我找不到任何东西,我不确定我是否遗漏了一些明显的东西。

4

1 回答 1

0

p arr[0][0]为我工作我的测试代码:

#include<stdio.h>
int main()
{
  int a[3][3];
  a[0][0]=1;
  a[0][1]=2;
  return 0;
}

在 gdb 上:

(gdb) b test.c:6
Breakpoint 1 at 0x400473: file test.c, line 6.
(gdb) r
Starting program: a.out

Breakpoint 1, main () at test.c:6
6       a[0][1]=2;
(gdb) p a[0][0]
$1 = 1
(gdb) ptype a
type = int [3][3]

所以这不是p arr[0][0]问题所在,而是其他问题。

于 2012-07-04T11:09:00.353 回答