Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
szintaxishiba: azonosító
Megjegyzések
A fordító olyan azonosítót talált, amely nem várt. A használat előtt győződjön meg arról, hogy identifier deklarálva van.
Az inicializálót zárójelek is tartalmazhatják. A probléma elkerülése érdekében csatolja a deklarátort zárójelbe, vagy tegye azt zárójelbe typedef.
Ez a hiba akkor is előfordulhat, ha a fordító egy kifejezést osztálysablon-argumentumként észlel; a typename használatával mondja meg a fordítónak, hogy ez egy típus, ahogy az a következő példában is látható:
Példák
Az alábbi példa c2061-et hoz létre:
// C2061.cpp
// compile with: /std:c++17
template <A a> // C2061
class C1 {};
template <typename A a> // ok
class C2 {};
template <typename T>
class C3
{
// Both are valid since C++20
using Type1 = T::Type; // C2061
using Type2 = typename T::Type; // OK
};
int main()
{
int x;
unsigned a1 = alignof(x); // C2061
unsigned a2 = alignof(int); // OK
unsigned a3 = alignof(decltype(x)); // OK
}
A hiba template<A a> class C1{};megoldásához használja a template <typename a> class C1 {};
A probléma using Type1 = T::Type;megoldásához használja a using Type1 = typename T::Type;
A probléma alignof(x)megoldásához cserélje le az argumentumot a típusra x. Ebben az esetben vagy intdecltype(x);
C2061 akkor fordulhat elő, ha egy példánynevet ad át a típusazonosítónak:
// C2061b.cpp
// compile with: /clr
ref struct G
{
int i;
};
int main()
{
G ^pG = gcnew G;
System::Type ^ pType = typeid<pG>; // C2061
System::Type ^ pType2 = typeid<G>; // OK
}