Warum kann ein unvollständiger Typ nicht für ungültig erklärt werden?
Warum gibt der folgende Code den folgenden Fehler aus?
Warum muss der Typ vollständig sein, um nach @ geworfen zu werdevoid
?
struct Incomplete;
class Class
{
virtual void foo(Incomplete &incomplete)
{
(void) incomplete;
throw std::logic_error("not implemented");
}
};
Error
error C2027: use of undefined type 'Incomplete'
see declaration of 'Incomplete'