编译日志有没有人知道如何弹出这个错误?

时间:2012-03-29 14:15:42

标签: c++ compilation

我不知道怎么或为什么和谷歌不是真的有用更好,,,但是谁能告诉为什么剂量这个错误弹出以及如何解决?我尝试了所有我能想到的......我没有想法。

错误部分:

**** Build of configuration Debug for project Lab3-5Mod ****

**** Internal Builder is used for build               
**** g++ -ID:\c++\Begin\Lab3-5Mod -O0 -g3 -Wall -c -fmessage-length=0 -o src\UI.o..\src\UI.cpp
 ..\src\UI.cpp: In function 'int printMenu()':
 ..\src\UI.cpp:39:15: error: expected primary-expression before 'int'
 ..\src\UI.cpp:39:24: error: expected primary-expression before 'int'
 ..\src\UI.cpp:39:39: error: expected primary-expression before 'M'
 ..\src\UI.cpp: In function 'int main()':
 ..\src\UI.cpp:75:18: error: expected primary-expression before 'M'
 Build error occurred, build is stopped
 Time consumed: 370  ms. 

代码:

#include <iostream>
#include "Structs.h"
#include "structs.cpp"
#include "controller.cpp"
#include "UI.h"

using namespace std;

int printMenu(){

int input;
input = 1;
    while (input){
        cout<<"1.  Add to current day "<<endl;
        cout<<"2.  Insert amount to day by type "<<endl;
        cout<<"3.  Remove day "<<endl;
        cout<<"4.  Remove days "<<endl;
        cout<<"5.  Remove type of expenses"<<endl;
        cout<<"6.  Replace type  at specified day"<<endl;
        cout<<"7.  Show expenses bigger than"<<endl;
        cout<<"8.  Show expenses bigger than... to day..."<<endl;
        cout<<"9.  Show expenses of specified type overall"<<endl;
        cout<<"10. Calculate sum of specified type over all"<<endl;
        cout<<"11. Show day with highest expenses"<<endl;
        cout<<"12. Show all days with specified expenses"<<endl;
        cout<<"13. Sort days by expenses increasing"<<endl;
        cout<<"14. Sort days by expenses discreasing"<<endl;
        cout<<"15. Filter type"<<endl;
        cout<<"16. Filter type starting with"<<endl;
        cout<<"---------------------------------------------"<<endl;
        cout<<"18. Undo"<<endl;
        cout<<"0.  Clear and exit!"<<endl;

        cout<<"enter option: ";
        cin>>input;

        switch(input){
        case 1:add(int cant,int tip, Array M);
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
        case 10:
        case 11:
        case 12:
        case 13:
        case 14:
        case 15:
        case 16:
        case 17:
        case 18:
        case 19:
        case 0:break;
        default: cout<<"Wrong input!"<<endl;break;

        }
    }

return 0;
}


int main()
{
//Main function of the program. no pre/ post condition.
Array M;
constr(M);
Array B;
constr(B);
dummyData(Array M);

printMenu();
return 0;
}

数组标题:

struct Array{
    int days;
    int exp;
    int **M;
};

void constr(Array &);
void destruc(Array &);
void add(int, int, Array &);

控制器添加功能:

void add(int cant,int tip, Array M){
//Adds to current day the amount to a specific type
    currDay();
    M.M[currentDay][tip] += cant;
}

2 个答案:

答案 0 :(得分:2)

您不会调用这样的函数:

add(int cant,int tip, Array M);

您无需指定数据类型:

add(cant,tip, M);

此处:dummyData(Array M); - &gt; dummyData(M);

仅在声明中指定数据类型,但在调用函数时不指定。

答案 1 :(得分:1)

    case 1:add(int cant,int tip, Array M);

调用add时,不指定实际参数的类型。