int qs = 465;
std::ostringstream os;
os << &qs;
QString tt = QString::fromStdString(os.str());
qDebug() << &qs; // output: 0x28fda8
qDebug() << tt; // output: "0x28fda8"
int *pp = tt; // how can i do this?
は、私はそれが愚かだ知っているが、私はあなたがいけないこの文字列を住所に変換するにはどうすればよいですか?
基本的にはちょうどあなたがそれを行う方法を知っています、整数にあなたの文字列を変換する必要がありますか? – Stefan
'QString'と' int * 'は関連していないので、この変換は意味を持ちません(可能ですが)。これは実際にXY問題のようです。実際に達成しようとしていることを述べるべきです。文字列に格納された 'qs'にアドレスを実際のポインタに変換しようとしていますか? – VTT
'int * pp = tt;'何をしたいですか? 'tt'は' QString'で 'int *'には入りません。あなたは 'tt'の中のあるサイズのチャンクをつかんで' pp'に格納することができます。 'pp'が' tt'を指すようにすることもできます。問題は、実際に存在するオブジェクト(および既存のオブジェクトの背後にあるオブジェクト)を正しいタイプのオブジェクトのみを指すことが許可されているため、両方とも未定義の動作です。 'void * pp = &tt;'を実行すると、UBなしで 'pp'に' tt'のアドレスだけを格納することができます。 – nwp