- ベストアンサー
警告 : 問題のあるポインタの変換
#include <iostream.h> char *f(){ char buf[1] = "\0"; // char *buf = "\0"; return static_cast<char*>(buf); } main(){ cout << f(); これで、関数の型が char * なのに、char [] 型変数を 返そうとするソースだからコンパイルで警告が出るんだと思いました。 関数の型が char [] なのに、char * 型変数を返したなら 返された値を変更できないから不都合が起こるのが 分かりますが、上に書いたソースの場合は不都合なことに なりますか? 問題のあるポインタの変換ということを言われるのが納得 できないので、納得させてください。
- みんなの回答 (3)
- 専門家の回答
お礼
{ '\0' }の件もありがとうございました。