Megosztás a következőn keresztül:


C2760 fordítóhiba

szintaxishiba: a "name1" várható volt, nem pedig "name2"
szintaxishiba: váratlan token ('token1'), várt "token2"
szintaxishiba: a "token1" nem várt itt; várt "token2"

Megjegyzések

Ezt a hibát többféleképpen is okozhatja. Általában egy olyan token-sorozat okozza, amit a fordítóprogram nem tud értelmezni.

Példák

Ebben a példában egy öntvény operátort használ egy érvénytelen operátorral.

// 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
}

Az új lambda processzor, amely elérhető /std:c++20 vagy később, vagy /Zc:lambda alatt, lehetővé teszi az új konformancia módú szintaktikai ellenőrzéseket generikus lambdákban. Az örökölt lambda-processzor figyelmeztetések nélkül fordítja le ezt a kódot, de az új lambda processzor C2760 hibát eredményez:

void f() {
    auto a = [](auto arg) {
        decltype(arg)::Type t; // C2760 syntax error: unexpected token 'identifier', expected ';'
    };
}

Ez a példa a fordító által kikényszerített helyes szintaxist mutatja be, amely minden /std módban működik:

void f() {
    auto a = [](auto arg) {
        typename decltype(arg)::Type t;
    };
}