Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > подскажите как сделать что бы работало


Автор: cooper123 5.6.2008, 13:01
как сделать что бы это работало?

сообщение об ошибке
make -k 
g++ functions.cpp -o aaa.exe
functions.cpp: In function `int main()':

functions.cpp:44: error: no matching function for call to `functions::fromString(std::string&)'

make: *** [all] Error 1


текст программы 
Код

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>

class functions {
public:
  template< class T>
  std::string toString(T val);
  
  template<class  T> 
  T fromString(const std::string s);
};

using namespace std;


template< class  T>
std::string functions::toString(T val)
{
  std::ostringstream oss;
  oss<< val;
  return oss.str();
};

template<class T>  T functions::fromString(const std::string s)
{
  std::istringstream iss(s);
  T res;
  iss >> res;
  return res;
};


int main(void){
  functions fn;
  int ival;
  string sval;

  ival = 1111;
  sval = fn.toString(ival);
  cout<<"sval "<<sval<<endl;
  sval ="123";
  ival = fn.fromString(sval);
  cout<<"ival "<<ival<<endl;

}



Автор: anatox91 5.6.2008, 13:12
пользуйся кнопкой Код для начала

Автор: creatorcode 5.6.2008, 13:16
Код

ival = fn.fromString<int>(sval);

Автор: cooper123 5.6.2008, 13:19
Цитата(creatorcode @ 5.6.2008,  13:16)
Код

ival = fn.fromString<int>(sval);

биг сенкс


при включении того же файла в большой проект оно теперь выдает ошибку 
undefined reference to `int functions::fromString<int>(std::string)'

а тестовые функции из этого класса  типа
int test(void){ return 2;}

находит((((

где искать примерно?


Автор: bsa 5.6.2008, 15:42
cooper123, реализация шаблонов должна быть в h файле, а не в cpp.
Вот здесь у человека та же проблема: http://forum.vingrad.ru/forum/topic-215072/kw-шаблон-класса.html

Автор: cooper123 5.6.2008, 16:07
спасибо бса

жить стало легче, жить стало веселей))))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)