Błąd kompilatora C3533
"type": parametr nie może mieć typu zawierającego wartość "auto"
Nie można zadeklarować metody lub parametru szablonu ze auto
słowem kluczowym, jeśli domyślna opcja /Zc:auto compiler jest w mocy.
Aby poprawić ten błąd
auto
Usuń słowo kluczowe z deklaracji parametru.
Przykłady
Poniższy przykład zwraca wartość C3533, ponieważ deklaruje parametr funkcji za pomocą słowa kluczowego auto
i jest kompilowany za pomocą /Zc:auto.
// C3533a.cpp
// Compile with /Zc:auto
void f(auto j) {} // C3533
Poniższy przykład daje C3533 w trybie C++14, ponieważ deklaruje parametr szablonu za pomocą słowa kluczowego auto
i jest kompilowany z /Zc:auto. (W języku C++17 jest to prawidłowa definicja szablonu klasy z pojedynczym parametrem szablonu innego niż typ, którego typ jest wywoływany).
// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C {}; // C3533
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla