| imho.ws |
![]() |
|
|
|
# 1 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
[c++] поинтеры на классы
Привет.. у меня есть класс Stack
template<class GrundTyp> class Stack {.... я инициализикую 2 стэка int max=10; Stack<int> N(max); Stack<int> I(max); и хочу передать функции на обработку.... void inverse(Stack<int> *N, Stack<int> *I){ while(!(N.stackempty())){ .... и не работает что не так??
__________________
Всё будет хорошо! |
|
|
|
|
# 3 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
'inverse' : cannot convert parameter 1 from 'class Stack<int>' to 'class Stack<int> *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
__________________
Всё будет хорошо! |
|
|
|
|
# 5 |
|
Full Member
Регистрация: 19.07.2003
Адрес: Israel
Сообщения: 924
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А в функцию ты их передаёш так
inverse(N,I) или так inverse(&N,&I) Второй вариант правильный. А ещё лучше определи функцию вот так: void inverse(Stack<int> &N, Stack<int> &I) и все проблемы решены.
__________________
Столько дел, что и работой занятся некогда... |
|
|
|
|
# 6 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
во так починил
template<class GrundTyp> void inverse(Stack<GrundTyp> *N, Stack<GrundTyp> *I){ while(!(N->stackempty())){ I->push(N->pop()); } } и ф-ция. inverse<int>(&N,&I);
__________________
Всё будет хорошо! |
|
|