CArray aus CMap
-
Hallo,
ich habe ein Problem und wollte es lösen, indem ich ein CArray anlege, welches aus CMaps besteht.
Ich habe es folgendermaßen versucht:in der StdAfx.h:
struct tExcelZeilen { CMap m_rowExcel; }; struct tExcelElemente { int Zeile; CString Spalte; CString Element; CString Parameter; };und in einer von mir angelegten VPExcel.h
class CVPExcel { CMap <CString, LPCSTR,tExcelElemente, tExcelElemente&> m_rowExcel; CArray <tExcelZeilen, tExcelZeilen&> m_VPExcel; public: ..... ..... ..... };Leider gibt er mir da immer Fehler aus:
StdAfx.cpp
d:\tpd\scanstdrt\stdafx.h(52) : error C2955: 'CMap' : Fuer die Verwendung einer Vorlagenklasse ist eine Vorlagen-Argumentliste erforderlich
c:\program files\microsoft visual studio\vc98\mfc\include\afxtempl.h(1175) : Siehe Deklaration von 'CMap'
d:\tpd\scanstdrt\stdafx.h(52) : fatal error C1903: Weiterverarbeitung nach vorhergehendem Fehler nicht moeglich; Kompilierung wird abgebrochen.
Fehler beim Ausführen von cl.exe.
Browse-Informationsdatei wird erstellt...
BSCMAKE: error BK1506 : Datei '.\Debug\StdAfx.sbr' kann nicht geoeffnet werden: No such file or directory
Fehler beim Ausführen von bscmake.exe.Kann mir dabei jmd. helfen, da ich um Ehrlich zu sein nicht den blassesten Schimmer habe, was ich nun machen soll...
oder hat jmd. vielleicht eine besser umsetzbare Idee?Gruß,
Thorsten
-
Tupamann schrieb:
in der StdAfx.h:
struct tExcelZeilen { CMap m_rowExcel; }; struct tExcelElemente { int Zeile; CString Spalte; CString Element; CString Parameter; };Du hast hier vergessen, die Template-Paramter anzugeben.
(btw, solche Definitionen haben imho in der stdafx.h nichts zu suchen ;))
-
Hi,
jetzt gehts...
ich dachte, dass die Deklaration in die VPExcel.h müsste.
Was meinst du damit, die hätten da nichts zu suchen? Wo sollte ich das Struct denn Deklarieren?Danke erstmal,
Thorsten
-
Tupamann schrieb:
ich dachte, dass die Deklaration in die VPExcel.h müsste.
Wenn der Compiler einen Fehler in der stdafx.h meldet, könnte das Problem höchstens vor der markierten Zeile sein, aber idR nicht dahinter.
Was meinst du damit, die hätten da nichts zu suchen? Wo sollte ich das Struct denn Deklarieren?
In einer eigenen Header-Datei (die vorcompilierten Header machen nur dann Sinn, wenn sie nicht ständig neu übersetzt werden - da landen normalerweise nur die Includes für Systemheader).
-
Ok, danke werde ich beherzigen.