[英]Invalid type of argument using pointer to struct array
我的下一个代码有问题,我收到错误:一元'*'的无效类型参数(有'int')。 如果我编写允许代码运行的int *content
,但我必须编写int=content
并更改代码*((ptab->content)+pC1+17)
,我尝试过但无法修复错误。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
#include <iomanip>
#include <stdio.h>
#include <Windows.h>
using namespace std;
struct box{
int content;
};
struct box *ptab;
int pC1=5;
int main (){
ptab=new struct box[64];
if (*((ptab->content)+pC1+17)==0) {
pC1=pC1+17;
}
cout<<pC1<<endl;
}
我必须从指针到poninters再到struct数组,这段代码是一个例子,因为原始代码有23000行。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
#include <iomanip>
#include <stdio.h>
#include <Windows.h>
using namespace std;
int *box;
int pC1=5;
int main (){
box=new int[64];
if (*(box+pC1+17)==0){
pC1=pC1+17;
}
cout<<pC1<<endl;
}
使用*((ptab->content)+pC1+17)
,更简单的说法是ptab[pC1+17].content
[后者编译并产生 22 作为输出]。 你的意思是ptab->content + pC1 + 17
[产生 5]?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.