偶然被同学问到的,记下来吧。
老师给的程序源码使用VC写的,而在VC下面,使用
typedef struct {
double coef;
int exp;
} PolyArray[MAX];
确实是一个比较纠结的定义。
调用为
void CreateListR(PolyNode *&L,PolyArray a,int n)
代码在VC下不知道会不会有问题[没试过,不过是老师写的,应该问题不大]。
换到DEV或者CodeB下面就会报错哦。
non-local function `void CreateListR(PolyNode*&, <anonymous struct>*, int)’ uses anonymous type
琢磨了一下,估计是编译器不同的问题,然后搜了下,发现可以用PolyArray *a代替PolyArray a,
那样代码写的就非常纠结了…..
试了一下,原来把他规范化的最好办法,就是
typedef struct
{
double coef;
int exp;
} PolyArray2;
typedef PolyArray2 PolyArray[MAX];
– -, 是不是很囧…