我有一个声明如下的结构:
typedef struct data
{
double open;
double high;
double low;
double close;
} ohlcstruct;
如何将指针传递给函数printEOD()
我正在做类似下面的事情:
ohlcstruct * pohlctemp;
pohlctemp = (ohlcstruct *)(long long)GetPfData(sPFName, 1);
printEOD(args, pohlctemp);
我将函数printEOD()
声明如下:
void printEOD(void **args, ohlcstruct ** pohlctemp); //Error here
这是一个错误,因为预期的声明说明符
请帮忙!
答案 0 :(得分:1)
使用printEOD()函数声明,它需要一个指向ohlcstruct指针的指针,你需要调用:
printEOD(args, &pohlctemp);
更简单的printEOD()声明是:
printEOD(void **args, oblcstruct *pohlctemp);
然后将被称为:
printEOD(args, pohlctemp);
答案 1 :(得分:0)
您的功能printEOD()
的签名应该是:
void printEOD(void **args,ohlcstruct* pohlctemp); /* pohlctemp should be a single pointer instead of a double pointer */
您只需按照相同的方式调用printEOD():
printEOD(args,pohlctemp);