Dlaczego następujące czynności są nielegalne w C++?Dlaczego nie można używać składni konstruktora w typach "unsigned int"?
auto x = unsigned int(0);
co następuje po są OK:
auto y = int(0);
auto z = unsigned(0);
auto w = float(0);
lub ogólnie:
auto t = Type(... c-tor-args ...);
(z wyjątkiem Type
jest unsigned int
).
Oczywiście można po prostu powiedzieć 'auto' a = 10U ale pewnie wiedział. Składnia, której używasz, nie ma nic wspólnego z konstrukcją, nawet jeśli powierzchownie jest podobna. Użyj literałów właściwego typu i to jest to. –