当我尝试使用此行运行代码时,标题中描述了错误:
(int**)newPtr = *(list + index);
有谁知道什么是错的?
这些是我的声明
int index;
int* newPtr;
static int* list;
答案 0 :(得分:2)
代码中有一些错误:
newPtr被声明为指向整数的指针,但是你将它转换为指针指向整数,这是错误的。
list + index也是指向整数的指针*(list + index)是指向(list + index)的整数。但是你试图将它分配给newPtr(它也被转换为错误的类型,如上所述)。
可能你打算这样做:
newPtr = list+index;
并获取位于list + index-th位置的指向整数的指针。
答案 1 :(得分:0)
*(list + index)返回一个int。如果你想要一个指针,只需使用
newPtr = list + index;
int **表示指向int指针的指针,该指针似乎没有任何业务。