У меня возникли проблемы с компиляцией моей программы, и я думаю, что большая часть проблемы сейчас заключается в том, что я смотрю на нее слишком долго ...
Обзор этой одной части программы: у вас есть комплексное число в прямоугольной форме (представленное структурой «Комплекс»), которое вы хотите преобразовать в комплексное число в полярной форме (представлена структурой «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 NF_convert_c2_pcdouble(Complex c1);
соответствующие части pcomplex.h
:
#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
Что-то еще, что я заметил, при наведении курсора на имя функции в 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 строк ... поэтому я постарался сохранить его релевантным.