|
|
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
template <class T> class array { int size; T* pT; public: array(int S=10):size(S) {pT=new T[S];}; array(int S=10,T *pT_w):size(S) { pT=new T[S]; pT=pT_w; }; friend ostream& operator <<(ostream&,array); /* friend ostream& operator << (ostream& outs,array a) { int k; outs<<"size="<<a.size<<"\n"; for (k=0;k<a.size;k++) outs<<"arr["<<k<<"]="<<a.pT[k]<<"\n"; return outs; };*///как вынести эту функцию за предел шаблона класса чтобы небыло предупреждений }; class Number { int i; public: Number (int I=0):i(I){}; friend ostream& operator << (ostream& outs,Number n) { int k; outs<<"Number.i="<<n.i<<"\n"; return outs; }; }; void main () { Number d[5]={10,20,30,40,50}; array <Number> a(5,d); clrscr(); cout<<a; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 19:42 |
|
||
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
не уверен что понял вопрос... в общем нужно объявить функцию-шаблон примерно вот так Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 23:02 |
|
||
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
в моем случае когда убираешь комментарий возникает предупреждение "Warning : Functions containing for are not expanded inline" как можно избавиться от этого предупреждения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 12:05 |
|
||
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
ну так у вас не-template метод объявлен в h-файле - соответсвенно он трактуется как inline. либо объявите его как template либо перенесите реализацию в .cpp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 16:22 |
|
||
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
в классе array нодо написать "friend ostream& operator <<(ostream&,array<T> a);" а в загаловке функции "template <class T> ostream& operator << (ostream& outs, array<T> a)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 22:11 |
|
||
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
Компилятор какой у тебя ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2006, 09:51 |
|
||
|
вынес дружественной функции за шаблон класса
|
|||
|---|---|---|---|
|
#18+
MasterZivКомпилятор какой у тебя ?Borland C++ Version3.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2006, 12:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33506186&tid=2032054]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 404ms |

| 0 / 0 |
