in DefinitionC++ C2509 in der Definition von Instruktor Versuchen Sie es mit: - Fang
A::A()
try: B()
{}
catch(Exception e) {}
in diesem Code habe ich C2509 Fehler. Wenn ich versuche, zu Definition (F12) in Header-Datei oder (Strg + F12) in Definition gehen, funktioniert es nicht.
Ich versuchte
A::A()
{
try
{ B();}
catch(Exception e) {}
}
aber das ist unmöglich, weil in der Klasse B gibt es eine rein virtuelle Funktion ist.
Ich bin verwirrt mit dem Unterschied zwischen
try: {}
catch
und
try{}
catch
weder Fehler Namen noch Verknüpfungen sind universell für C++. Sie müssen die Fehlermeldung in die Frage wörtlich einfügen – user463035818
Ich denke, Sie haben Ihre Frage beantwortet: "Das ist unmöglich, weil in Klasse B gibt es eine reine virtuelle Funktion." Sie können eine abstrakte Klasse nicht instanziieren - einschließlich in Initialisierungslisten. – virgesmith
@virgesmith Vielen Dank für Ihre Antwort, aber warum kann ich die abstrakte Klasse nach 'try:' initialisieren, nicht in try {}? –