|
|
|
templated class :)
|
|||
|---|---|---|---|
|
#18+
Вопрос такой: Код: 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. 29. 30. 31. 32. Почему-то ругается: c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(21): error C2064: term does not evaluate to a function taking 1 argumentsНо ведь в "алгоритм.х" for_each определен как: Код: plaintext 1. 2. 3. 4. 5. 6. 7. И соответственно вызывать должен функцию с одним аргументом типа T (в моем случае инт). Подскажите, плз, что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 00:43 |
|
||
|
templated class :)
|
|||
|---|---|---|---|
|
#18+
А что за mem_fun_ref? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 10:03 |
|
||
|
templated class :)
|
|||
|---|---|---|---|
|
#18+
Это же элементарно, Ватсон. Вы пытаетесь у каждого элемента контецнера вызвать функцию MyVector<int>::print, но у int такой нет А надо вызвать функциж MyVector<int>::print c элементом контейнера в качестве аргумента, такого стандартного адаптера нет, но можно написать, например так template <class Ret, class T, class Arg> class arg_fun_t : public unary_function<Arg, Ret> { public: typedef Ret (T::*F)(Arg); explicit arg_fun_t(T& t, F f) : __p(t), __f(f) {} Ret operator() (Arg arg) { return (__p.*__f)(arg); } private: T& __p; F __f; }; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 11:06 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=329&tid=2030264]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 353ms |

| 0 / 0 |
