powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / шаблоны STL
3 сообщений из 3, страница 1 из 1
шаблоны STL
    #32488583
tanex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеется класс-функция с адаптером
необходимо чтобы одним из членов этого класса была string-переменная (sResult)
при использовании этой переменной компилятор пвыдает ошибку (не видит что string?)

template<class R, class T> class salary_fun_t : public unary_function<T*, R>
{
R(T::*pmf)();

public:
string sResult;

explicit salary_fun_t(R(T::*p)()):pmf(p){}

R operator() (T* p) const
{
//использование sResult
sResult.insert(... //ошибка!!!
return (p->*pmf)();
}
};

template <class R, class T> salary_fun_t<R, T> salary_fun(R(T::*f)())
{
return salary_fun_t<R, T>(f);
}

как с этим бороться???
помогите
...
Рейтинг: 0 / 0
шаблоны STL
    #32488671
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
#include <vector>
#include <string>
#include <fstream>
#include <iostream>
#include <algorithm>
#include <functional>

using namespace std;

template<class R, class T> class salary_fun_t: public unary_function<T*, R> 
{ 
R(T::*pmf)(); 

public: 
string sResult; 

explicit salary_fun_t(R(T::*p)()):pmf(p){} 

R operator() (T* p) const 
{ 
//использование sResult 
sResult.insert( "adas" )
return (p->*pmf)(); 
} 
}; 
template <class R, class T> salary_fun_t<R, T> salary_fun(R(T::*f)()) 
{ 
return salary_fun_t<R, T>(f); 
} 


У меня собирается без проблем (VS 7)
...
Рейтинг: 0 / 0
шаблоны STL
    #32488948
tanex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказалось:
метод insert у string неконстантный, а operator() объявлен константным, отсюда и грабли
VS 6.0
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / шаблоны STL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]