掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
char*型変数のexternについて (ID:73046)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
予想したとおりポインタが [寿命の尽きた自動変数] を指しているようだ。 void foofunc() { char nstring2[100]; box[0].name = nstring2 } のようになっているとき nstring2 は } までしか存在しないという仕様だ。 foofunc() の外では nstring2 はもはや存在しない。 box[0].name は死んだ変数を指しているので、そこから値を拾うことはできない。 どう直すかは、どうしたいのか次第。 まあ多分 struct BOX の name を char* でなく std::string にするのが正しいのだろう。 でも _bstr_t から変換するのなら wchar_t なり std::wstring なり使うほうが自然だと思うぞ。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.