在C ++ Primer的练习6.40中,我得到以下代码的-fpermissive错误:
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
string make_plural(size_t ctr, const string &word, const string &ending = "s");
int main()
{
string input;
cout << "Success:" << make_plural(2, "Success", "es") << endl;
cout << "Failure:" << make_plural(2, "Failure") << endl;
return 0;
}
string make_plural(size_t ctr, const string &word, const string &ending = "s")
{
return (ctr > 1) ? word + ending : word;
}
在main函数之后声明函数之前,我习惯先在main函数之前对函数进行原型设计。但是,我从G ++编译器收到以下错误:
错误:为'std :: string make_plural(size_t,const string&amp;,const string&amp;)'[-fpermissive]
的参数3给出的默认参数
想知道为什么会这样。