Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
syntaxisfout: verwachte 'name1' niet 'name2'
syntaxisfout: onverwacht token 'token1', verwachte 'token2'
syntaxisfout: token1 was hier onverwacht; verwacht 'token2'
Opmerkingen
Er zijn verschillende manieren om deze fout te veroorzaken. Meestal wordt dit veroorzaakt door een tokenreeks waarvan de compiler geen idee kan maken.
Voorbeelden
In dit voorbeeld wordt een cast-operator gebruikt met een ongeldige operator.
// C2760.cpp
class B {};
class D : public B {};
void f(B* pb) {
D* pd1 = static_cast<D*>(pb);
D* pd2 = static_cast<D*>=(pb); // C2760
D* pd3 = static_cast<D*=(pb); // C2760
}
De nieuwe lambdaprocessor die beschikbaar is onder /std:c++20 of later, of onder /Zc:lambda, maakt een aantal nieuwe syntactische controles in algemene lambdas mogelijk. De verouderde lambda-processor compileert deze code zonder waarschuwingen, maar de nieuwe lambdaprocessor produceert fout C2760:
void f() {
auto a = [](auto arg) {
decltype(arg)::Type t; // C2760 syntax error: unexpected token 'identifier', expected ';'
};
}
In dit voorbeeld ziet u de juiste syntaxis, nu afgedwongen door de compiler, die in alle /std modi werkt:
void f() {
auto a = [](auto arg) {
typename decltype(arg)::Type t;
};
}