我希望能够运行由我的结构体指向的具有自动填充功能的函数。
这是我正在处理的部分:
这是我正在处理的部分:
#include <stdio.h>
#include <stdlib.h>
struct Fra { //Fraction
int n; //Numerator
int d; //Denominator
void (*p)(struct Fra*);
void (*sD)(int, struct Fra*);
void (*sN)(int, struct Fra*);
};
void print(struct Fra*);
void setDenom(int, struct Fra*);
void setNum(int, struct Fra*);
int main() {
struct Fra* fraA = 0;
fraA = (struct Fra*) malloc(sizeof(struct Fra));
fraA->sN = setNum;
fraA->sN(2, fraA);
fraA->sD = setDenom;
fraA->sD(3, fraA);
fraA->p = print;
fraA->p(fraA);
return 0;
}
我一直在努力实现这个目标
来自:
fraA->sN(2, fraA);
fraA->sD(3, fraA);
fraA->p(fraA);
致:
fraA->sN(2);
fraA->sD(3);
fraA->p();
在进行了一些试错后,我得出结论需要在这方面寻求帮助。我尝试过浏览,但似乎没有使用正确的关键字,因此无法确定这个问题是否重复。
非常感谢您的帮助。
fraA->print(fraA)
变成了fraA->print()
。我很快会发布一个比较。 - Braden Best