Ich schrieb dieses Stück Code, der funktioniert [1], aber geben Sie mir die Warnmeldung [2], in der Tat möchte ich die Adresse eines int in einem Doppel. Ich frage mich nur, ob es sicher ist, das mit ref zu tun (ich werde kein komisches Verhalten erleben).Kann ich ein Doppel machen & mit einem int
[2]
test.cc:10:27: Warnung: Verengen Umwandlung von 'myint' aus 'int' to 'double' innerhalb {} [-Wnarrowing] const double & intref { Myint};
[1]
int main(){
int myint{10};
cout<<"myint: "<<myint<<endl;
const double &intref{myint};
cout<<"intref: "<<intref<<endl;
}
Was könnte das möglicherweise tun, das ist nicht komisch? –
'Ich möchte die Adresse eines int in einem double setzen. Eine Referenz ist keine Adresse. Selbst wenn es war, warum denkst du daran? Jeder Versuch, die Adresse zu dereferenzieren, würde die Alias-Regeln der Sprache brechen und somit ein undefiniertes Verhalten auslösen. Und wofür? Was versuchst du zu machen? Dies ist mit ziemlicher Sicherheit eine X/Y-Frage, d. H. Anstatt zu fragen: "Wie mache ich spezifische Sache X?", Sagen Sie uns, was die allgemeine Sache Y ist, die Sie dazu gebracht hat, diese Frage zu stellen. Es muss unbedingt eine bessere Lösung geben, was auch immer Sie hier versuchen. –
... oder wenn Sie gemeint haben, dass Sie die numerische Darstellung einer 'int *' - Adresse buchstäblich umwandeln und in einer 'double' -Variablen speichern möchten, dann ist das aus mehreren Gründen keine gültige Konvertierung. Es gibt einfach keine Interpretation dieser Frage, die irgendeinen Sinn ergibt oder den Menschen eine nützliche Grundlage für die Antwort gibt. Sie müssen es wirklich umschreiben, um Ihre Motivation richtig zu erklären. –