Compilerfehler C2316
Aktualisiert: November 2007
Fehlermeldung
'Ausnahme': Kann nicht aufgefangen werden, da auf den Destruktor und/oder den copy-Konstruktur nicht zugegriffen werden kann
'exception' : cannot be caught as the destructor and/or copy constructor are inaccessible
Eine Ausnahme wurde durch einen Wert oder Verweis aufgefangen, auf den Kopierkonstruktor und/oder den Zuweisungsoperator konnte jedoch nicht zugegriffen werden.
Dieser Code wurde vom Compiler der vorherigen Version akzeptiert, generiert jetzt aber einen Fehler. Weitere Informationen finden Sie unter Übersicht über die wichtigsten Änderungen bei der Kompilierzeit.
Beispiel
Im folgenden Beispiel wird C2316 generiert:
// C2316.cpp
// compile with: /EHsc
#include <stdio.h>
extern "C" int printf_s(const char*, ...);
struct B
{
public:
B() {}
// Delete the following line to resolve.
private:
// copy constructor
B(const B&)
{
}
};
void f(const B&)
{
}
int main()
{
try
{
B aB;
f(aB);
}
catch (B b) { // C2316
printf_s("Caught an exception!\n");
}
}