Ich entschuldige mich, wenn dieser Fehler das Ergebnis eines Tippfehlers ist, aber ich kann nicht herausfinden, wie man meine Variable negativ macht, wenn die korrekte Syntax y = -x sein sollte;Wie man eine Variable negativ macht? C++
std::cout << "loop size = " << loop_size_ << std::endl;
core::Size neg_loop_size_ = -loop_size_;
std::cout << "neg loop size = " << neg_loop_size_ << std::endl;
Wenn ich es laufen, dies ist das Ergebnis, das ich bekommen:
loop size = 4
neg loop size = 18446744073709551612
Wie erhalte ich eine neue Variable gleich -4?
Es ist ein unsigned integraler Typ, der ist, warum Sie nicht negativen Wert zu bekommen. Der Datentyp von core :: Size sollte signiert sein, um native ganze Zahlen zu enthalten – Asesh
Es scheint, dass 'core :: Size' ein * unsigned * Integer-Typ ist, was bedeutet, dass es niemals" negativ "sein kann. Was passiert, wenn Sie versuchen, * '-loop_size_' zu drucken? –
Das macht Sinn, dass es unsigned ist - core :: Size ist eine ganze Zahl, die für etwas gedacht ist, das niemals negativ wird. Ich werde einen anderen Datentyp verwenden ... Danke! – Amanda