请教一个问题
c++吧
全部回复
仅看楼主
level 8
hhh4723
楼主
自学direxct3d的时候,在填充顶点的索引数据的时候,有这么一段代码
教程上写的是注释中的内容,是定义了一个WORD指针,而我看到后面的索引是数组形式,所以我实验性改了一下,改为了WORD数组,但是两种代码运行结果却不一样,指针语句运行正常,数组语句运行画不出图像。
WORD *pIndices,pIndices是一个指向WORD型的指针,而WORD pIndices[]的话,数组名不是同样是一个指针吗?这两句含义有什么区别?
2018年10月26日 16点10分
1
level 11
M_P_C_King
数组名当然不是指针。
https://zh.cppreference.com/w/cpp/language/array
pIndices是WORD[36],
&pIndices就是WORD(*)[36]——指向数组的指针
2018年10月26日 18点10分
2
level 6
-
这是由Direct3d 给你返回的一块缓冲区地址,保存在pIndices指针变量内,因此要求用void**类型,然后由你向这个内存区域拷贝数据就行绘画。而pIndices数组是你自己定义在栈里的一个数组,根本不是direct3d提供给你的内存区域,你往这里面拷贝数据,direct3d当然不会认你的。
2018年10月26日 23点10分
3
1