Это домашнее задание, поэтому я не хочу полностью писать недостающий код. Но мне нужен довольно жесткий толчок, потому что я новичок и должен знать, что я делаю.Я не понимаю ошибки компилятора
Это formatpiece используется в AddDetailsblablablafunction()
#define REPLNEFORMT3 " %-7s%7f%4f\n"
линия 51 является прототипом функции
51 void AddDetailToAccumulators(float *totpayrate, *float p);/
Линия 85 В главном mopdule и вызывает AddDetailToAccumulators функция()
85 AddDetailToAccumulators(float *totpayrate, *float p);
171 void AddDetailToAccumulators(float *totpayrate, float *p)//3.6
172 {
173 totpayrate = p + totpayrate;
174 }
175 void PrintSummaryReport(float totpayrate, FILE * reportfile)/*, float totreg, float *totovt, float totg, float totfed,
176 float totstate, float totssi, float totnet,
177 int numemps, FILE *reportfile)//3.7*/
178
179 {
180 fprintf(stdout,REPLNEFORMT3,totpayrate);
181 fprintf(reportfile,REPLNEFORMT3,totpayrate);
182}
Ошибки компилятора перечислены ниже:
g++ -Wall -o "main" "main.cpp" (in directory: /media/dylan07/541C-D0D8)
main.cpp:51:49: error: expected identifier before ‘*’ token
void AddDetailToAccumulators(float *totpayrate, *float p);//, //float *totp, float reg, float *totreg,
^
main.cpp:51:50: error: expected ‘,’ or ‘...’ before ‘float’
void AddDetailToAccumulators(float *totpayrate, *float p);//, //float *totp, float reg, float *totreg,
^
main.cpp: In function ‘int main()’:
main.cpp:85:29: error: expected primary-expression before ‘float’
AddDetailToAccumulators(float *totpayrate, *float p);
^
main.cpp:85:49: error: expected primary-expression before ‘float’
AddDetailToAccumulators(float *totpayrate, *float p);
^
main.cpp: In function ‘void AddDetailToAccumulators(float*, float*)’:
main.cpp:173:19: error: invalid operands of types ‘float*’ and ‘float*’ to binary ‘operator+’
totpayrate = p + totpayrate;
^
main.cpp: In function ‘void PrintSummaryReport(float, FILE*)’:
main.cpp:180:40: warning: format ‘%s’ expects argument of type ‘char*’, but argument 3 has type ‘double’ [-Wformat=]
fprintf(stdout,REPLNEFORMT3,totpayrate);
^
main.cpp:180:40: warning: format ‘%f’ expects a matching ‘double’ argument [-Wformat=]
main.cpp:180:40: warning: format ‘%f’ expects a matching ‘double’ argument [-Wformat=]
main.cpp:181:44: warning: format ‘%s’ expects argument of type ‘char*’, but argument 3 has type ‘double’ [-Wformat=]
fprintf(reportfile,REPLNEFORMT3,totpayrate);
^
main.cpp:181:44: warning: format ‘%f’ expects a matching ‘double’ argument [-Wformat=]
main.cpp:181:44: warning: format ‘%f’ expects a matching ‘double’ argument [-Wformat=]
Compilation failed.
Надеюсь, что мое форматирование хорошее. :)
EDIT: BurningLights, я люблю тебя!
'#define REPLNEFORMT3"% -7s% 7f% 4f \ n "и' totpayrate = p + totpayrate; 'Что? Это то, чему вас учат? –
«% -7s% 75 \ n» Да, чему учили в классе. но totpayrate = p + totpayrate был мной – GeekyDewd
Измените «* float p» на «float * p» и повторите попытку –