Прокомментируйте плиз как это понимать. (VS 2005)
class foo
{
public:
virtual void fun(int) {}
virtual void fun(std::string&) {}
};
class bar : public foo
{
public:
virtual void fun(std::string&){}
};
int main()
{
bar * b = new bar();
b->fun(0);
return 0;
};
error C2664: 'bar::fun' : cannot convert parameter 1 from 'int' to 'std::string &'
Здравствуйте, mPronin, Вы писали:
P>Прокомментируйте плиз как это понимать. (VS 2005)
сокрытие имени в базовом классе
class foo
{
public:
virtual void fun(int) {}
virtual void fun(std::string&) {}
};
class bar : public foo
{
public:
using foo::fun;
virtual void fun(std::string&){}
};
P> error C2664: 'bar::fun' : cannot convert parameter 1 from 'int' to 'std::string &'
Здравствуйте, mPronin, Вы писали:
P>Прокомментируйте плиз как это понимать. (VS 2005)
Правильнее всего это надо понимать так, что хорошо бы найти учебник, справочник, а ещё лучше стандарт С++, только надо такой доумент искать, с которым ты умел бы раьотать. Вот MSDN, напрмиер, в контексте VS очень даже рулит. В любом случае надо там смотреть, если чего не понимешь...
Еще, кстати, конкретно в разборе непонятных тебе ошибко компилятора нереально заруливает
гугол
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском