Я пытаюсь вызвать функцию, не являющуюся членом производного класса, из базового класса, но получаю эту ошибку:
ошибка: нет соответствующей функции для вызова 'generate_vectorlist (const char &)'
Вот соответствующие фрагменты кода из базового класса:
//Element.cpp
#include "Vector.h"
...
string outfile;
cin >> outfile;
const char* outfile_name = outfile.c_str();
generate_vectorlist(*outfile_name); //ERROR
...
и производный класс (это шаблонный класс, так что все в заголовке):
//Vector.h
template <class T>
void generate_vectorlist(const char* outfile_name = "input.txt" )
{
std::ofstream vectorlist(outfile_name);
if (vectorlist.is_open())
for (Element::vciter iter = Element::vectors.begin(); iter!=Element::vectors.end(); iter++)
{
Vector<T>* a = new Vector<T>(*iter);
vectorlist << a->getx() << '\t' << a->gety() << '\t'<< a->getz() << std::endl;
delete a;
}
else { std::cout << outfile_name << " cannot be opened." << std::endl;}
vectorlist.close();
}
Полагаю, мне просто не хватает синтаксиса. Есть идеи?