Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Levý operand '.identifier' musí být třída/struktura/unie.
Poznámky
Operand nalevo od tečky (.) není třída, struktura nebo sjednocení.
Example
Následující příklad vygeneruje C2228:
// C2228.cpp
int i;
struct S {
public:
int member;
} s, *ps = &s;
int main() {
i.member = 0; // C2228 i is not a class type
ps.member = 0; // C2228 ps is a pointer to a structure
s.member = 0; // s is a structure type
ps->member = 0; // ps points to a structure S
}
Tato chyba se zobrazí také v případě, že při použití spravovaných rozšíření použijete nesprávnou syntaxi. Zatímco v jiných jazycích sady Visual Studio můžete použít operátor tečky pro přístup k členu spravované třídy, ukazatel na objekt v jazyce C++ znamená, že pro přístup k členu musíte použít operátor -> :
Nesprávný: String * myString = checkedListBox1->CheckedItems->Item[0].ToString();
Vpravo: String * myString = checkedListBox1->CheckedItems->Item[0]->ToString();