重複の可能性:
ローカル変数のメモリにそのスコープ外でアクセスできますか?
ポインタを使用してCスタイルの配列を宣言し、関数によって返される値を割り当てました。
1.1。const char* str = chArr->readString();
上記の直後に、私は次のようにstrをcoutしたいと思います:
2.2。cout << "pointer to char is = " << str <<endl;
そしてそれreadString
は:
char* CharArray::readString()
{
std::cout << "Insert a string of max 19 length:" <<std::endl;
char string[20];
std::cin.getline(string,20,'\n');
return string;
}
2行目にブレークポイントを設定すると、正しい結果がの値として表示されますstr
。しかし、コンソールウィンドウには何も表示されず、手順2を通過した後、値を見ると、 「 」または「 」のstr
ようなものが表示されます。P÷7
äû:
たぶん、4,5の長さのstrIストリングについては言う価値があります。strの長さにもかかわらず19ではありません。