我在编译程序时遇到了一些麻烦,现在我认为现在大部分问题都是我一直在寻找它太久......该计划的这一一个部分编译错误C2059,C2061,C2146和偶发性智能感知错误
概述:你有长方形,你要转换到极坐标形式复数(由结构“情结”表示)的复数(由代表结构“pComplex”)
试图建立时,我得到这些错误,每三次:
"error C2059: syntax error: ')'"
"error C2059: syntax error: ';'"
"error C2061: syntax error: identifier 'c1'"
"error C2146: syntax error: missing ')' before identifier 'c1'"
此外,我收到IntelliSense: identifier "Complex" is undefined
,但只有直到点击有问题的线路,然后它消失。
所有错误指向相同的头文件的同一行(pcomplex.h
):的pcomplex.h
pComplex NF_convert_c2_pcdouble(Complex c1);
相关部分:
#ifndef PCOMPLEX_H
#define PCOMPLEX_H
#include "complex.h"
#include <math.h>
//
// ...
//
typedef struct nf_complex_polar{
double r;
double angle;
} pComplex;
//
// ...
//
pComplex NF_convert_c2_pcdouble(Complex c1);
//
// ...
//
#endif
的complex.h
相关部分:
#ifndef COMPLEX_H
#define COMPLEX_H
#include "pcomplex.h"
#include <math.h>
//
// ...
//
typedef struct nf_complex{
double real;
double imag;
} Complex;
//
// ...
//
Complex NF_convert_pc2_cdouble(pComplex pc1);
//
// ...
//
#endif
我注意到,当我悬停ov呃函数名在pcomplex.c
,
pComplex NF_convert_c2_pcdouble(Complex c1)
{
//This function converts a rectangular form complex number c1
// and returns it as a polar form complex number pc1
pComplex pc1;
double x, y, r, a;
x = c1.real;
y = c1.imag;
r = sqrt(x*x + y*y);
a = atan2(y,x);
pc1.r = r;
pc1.angle = a;
return pc1;
}
我得到这个包含一个小弹出框,我不知道是什么,第二行表示:
pComplex NF_convert_c2_pcdouble(Complex c1)
pComplex NF_convert_c2_pcdouble(<error-type> c1)
这是足够的信息和代码的优点寻求帮助来搞清楚这一点?两个头文件大约每行100行,相应的源文件大约有1000行...所以我试图保持它的相关性。
请标记功课 – 2012-01-08 08:25:00