Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » compile error after changing CFormView to use templated class Collapse All
Subject Author Date
Jeremy Ruth Feb 28, 2007 - 8:48 AM

I changed my CFormView class to use the templated classes as follows:

In my .h:

class CCacheSpyView : public CExtWA < CExtWS < CExtAFV < CFormView >  > >


In my .cpp
CCacheSpyView::CCacheSpyView()
	: CExtWA < CExtWS < CExtAFV < CFormView >  > >(CCacheSpyView::IDD)


I get the following compile error:

c:\Program Files\FOSS Software Inc\Prof-UIS\Include\ExtTempl.h(296) : error C2664: ’CExtAFV<CExtAFVBase>::CExtAFV(__EXT_MFC_SAFE_LPCTSTR,CWnd *)’ : cannot convert parameter 2 from ’UINT’ to ’__EXT_MFC_SAFE_LPCTSTR’
with
[
CExtAFVBase=CFormView
]
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
c:\Program Files\FOSS Software Inc\Prof-UIS\Include\ExtTempl.h(286) : while compiling class-template member function ’CExtWS<CExtWSBase>::CExtWS(UINT,UINT)’
with
[
CExtWSBase=CExtAFV<CFormView>
]
c:\Program Files\FOSS Software Inc\Prof-UIS\Include\ExtTempl.h(1207) : see reference to class template instantiation ’CExtWS<CExtWSBase>’ being compiled
with
[
CExtWSBase=CExtAFV<CFormView>
]
s:\VC++\GapFusion\Testing\CacheSpy\CacheSpyView.h(9) : see reference to class template instantiation ’CExtWA<CExtWABase>’ being compiled
with
[
CExtWABase=CExtWS<CExtAFV<CFormView>>
]

I am using 2.64 on VS2003 (7.1).

Thanks,
Jeremy

Jeremy Ruth Feb 28, 2007 - 9:05 AM

OK, I figured it out. The app wizard generated code did not put the CWnd * NULL parameter on the class constructor code. I added that as the second parm and it compiles fine now.