C++ 代码错误:在函数 'int main(int, char**)' 中:

Error in C++ code: In function 'int main(int, char**)':

我是新手,计算机专业的学生。我正在做我的作业,它是文本文件的拼写检查器。我已经完成了代码,但出现以下错误。我无法解决它。请帮助我的人。谢谢!

这是我的代码:

#include<iostream>
#include<fstream>
using namespace std;
class spell_check
{
    private:
    int line_number=0;
    string input="" ;
    string dictionary="";
    bool condition=false;
    
    public:
    void process(int x,char *y[]);
};
void spell_check::process(int x,char *y[])
{
    ifstream input_file;
    input_file.open(y[2]);
    
    ofstream output_file;
    output_file.open(y[4]);
    while(!input_file.eof())
            {
                line_number++;
                getline(input_file,input);

                ifstream dictionary_file("dictionary.txt");
                while(!dictionary_file.eof())
                    {
                        getline(dictionary_file,dictionary);
                        if( input.compare(dictionary) == 0 )
                            {
                                condition=true;
                                break;
                            }
                    }
                if(condition==false)
                    {
                        output_file<<"**Spell mistake** "<< "( " << input << ")"<< "[" <<"at line no: " << line_number <<"]"<<endl;
            
                    }
                dictionary_file.close();
                condition=false;
            }
                    cout<<"Successfully Write "<<endl;

    input_file.close();
    output_file.close();
}
int main(int argum,char *argu_array[])
{
    
        spell_check SC;
        SC.process(argum, *argu_array);

    return 0;
}

这里有错误:

int main(int argum,char *argu_array[])
{

        spell_check SC;
        SC.process(argum, *argu_array);

        return 0;
}

因为main函数第二个参数的类型是char*[] 并且 process 方法的参数类型也是相同的:

void spell_check::process(int x,char *y[])

您不必取消引用它,试试这个:

SC.process(argum, argu_array);