PRB: C2059 When Declaring Friend Template Functions in a ClassLast reviewed: July 22, 1997Article ID: Q140605 |
4.00
WINDOWS NT
kbprg kbprb
The information in this article applies to:
SYMPTOMSAttempting to declare a friend template function in a class definition may result in the following errors:
error C2059: syntax error: 'template' error C2238: unexpected token(s) preceding ';' CAUSEThis is a relatively new language feature that is currently not supported by the Visual C++ 4.0 compiler. For example, the following code will generate the errors noted above.
Sample Code
/* Compile options needed: none */class A; template <class T> void f(T, A *a) { a->x; } class A { private: int x; template <class T> friend void f(T, A*);};
int main(void){ A a; f(5, &a); f(1.5, &a); return 0;}
STATUSThis behavior is by design.
|
Additional reference words: 4.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |