- 締切済み
vector<char *> のデータの問題について
C++の初心者ですが、現在勉強中です。 私が今以下のような問題があります。 class myclass{ private: vector<char *> mystring; public: void setVetcot(); void printvector(); }; void myclass::setVetor(){ mystring.push_back("sample"); } void myclass::printvecot(){ print("%s", *mystring); } int main(){ myclass m; m.setVetcot(); m.printvetcot(); } vectorの内容がなくなります。問題がどこでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- shapeshifter
- ベストアンサー率40% (2/5)
回答No.2
m.printvector()としてもsampleと表示されない、という意味でしょうか。 それは*mystringをprintしようとしているからでは?mystringはvectorなのですから、"sample"には配列の要素と同様のアクセスをします。mystring[0]と指定すればよいかと。 なお、STLを使うのであれば、char*よりもStringを使った方がよいようです。 なんにせよ、こういう時はまずデバッガを使いましょう。
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.1
>問題がどこでしょうか? コンパイルできないところかな。