try,throw→catchのエラー処理を書いている際、”aaa”という文字列をthrowしようと思いました。そこで、catchでその文字を受け取る型をstringにしたところ以下のエラーが出ました。
terminating with uncaught exception of type char const* Abort trap: 6
ロベールのc++を参照するとそこの型はconst char*だと書いてあり、以下のコードにすると動きました。なぜstring じゃだめなんでしょうか?
using namespace std; int main(){ try{ throw "aaa"; } catch(const char* a){ //ここの型をstringにすると動きませんでした。 cerr << a <<endl; return 0; } cout << 3 <<endl; return 0; }
以上よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/22 02:07
2021/02/22 02:09
2021/02/22 02:14
2021/02/22 02:16
2021/02/22 02:20
2021/02/22 02:33