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);
我是新手,计算机专业的学生。我正在做我的作业,它是文本文件的拼写检查器。我已经完成了代码,但出现以下错误。我无法解决它。请帮助我的人。谢谢!
这是我的代码:
#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);