我很高兴在 GDB 中进行调试,然后我遇到了一个可能包含错误值的二维数组。但是我似乎无法打印单个元素。
p array2D[0][0]
给我
无法对不完整类型执行指针数学运算,尝试强制转换为已知类型或 void *。
我试图用谷歌搜索,但我找不到任何东西,我不确定我是否遗漏了一些明显的东西。
我很高兴在 GDB 中进行调试,然后我遇到了一个可能包含错误值的二维数组。但是我似乎无法打印单个元素。
p array2D[0][0]
给我
无法对不完整类型执行指针数学运算,尝试强制转换为已知类型或 void *。
我试图用谷歌搜索,但我找不到任何东西,我不确定我是否遗漏了一些明显的东西。
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]
问题所在,而是其他问题。