• 締切済み

VC++20051を最近はじめました

最近プログラミングをはじめたのですがcharで関数を定義し戻り値に文字列を返したいのですがchar[20]をchar二変換できないとでます。関数はcharで宣言しているのでそのとおりだと思うんですが文字列を返すときはなにか特別な方法があるのですか?

みんなの回答

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

char *形の値を返す。 この時、返す領域はヒープにないとまずい。 char *Func( ) {  char str[20] ;  return str ; } とかやっちゃうと、strはFunc()を抜けた瞬間に不定領域になってしまう。 char *Func( ) {  char *str = new char [20] ;  return str ; } とかでないとまずい。 この場合にはstrは何処かで開放されないとメモリーリークしてしまうので注意。