Re: class template
- From: "Carl Daniel [VC++ MVP]" <cpdaniel_remove_this_and_nospam@xxxxxxxxxxxxxxx>
- Date: Mon, 25 Jul 2005 16:10:40 -0700
rich wrote:
> Hi there,
>
> I defined a class template (MyClass) and some member variables and
> functions, as following:
>
> template<class T1, class T2>
> class MyClass
> {
> ...
> struct m_variable
> {
> ...
> };
> m_variable* MyFunc(m_variable* pv1, m_variable* pv2);
> ...
> }
>
> template <class T1, class T2>
> MyClass<T1, T2>::m_variable* MyClass<T1,
> T2>::MyFunc(MyClass::m_variable* pv1, MyClass::m_variable* pv2)
> {
> ...
> m_variable* pv;
> ...
> return pv;
> }
>
> It compiles with VC++ v6.0, but doesn't compile with VC++ v7.0 (.Net
> 2003). Anybody can give me some advice to modify the code to make it
> compile.
Please post either or both of: some actual (complete) code that doesn't
compile and the exact error(s) that you're getting from the compiler.
In all likelihood, you need to add the 'typename' keyword in a few places to
make the code legal C++ (VC6 didn't enforce that rule, VC7.1 does).
e.g.
template <class T1, class T2>
typename MyClass<T1, T2>::m_variable* MyClass<T1, T2>::MyFunc(
MyClass::m_variable* pv1,
MyClass::m_variable* pv2
)
-cd
.
- Follow-Ups:
- Re: class template
- From: rich
- Re: class template
- References:
- class template
- From: rich
- class template
- Prev by Date: class template
- Next by Date: Re: DSWebCamCap
- Previous by thread: class template
- Next by thread: Re: class template
- Index(es):
Relevant Pages
|