2016-03-18 11 views
-4

私は彼のパスあなたは直接文字列を連結する<<演算子を使用することはできませんC++ランタイムエラー

ALLEGRO_BITMAP* bitmap; 
bitmap_path 
if(bitmap=al_load_bitmap(bitmap_path)==0){ 
    throw runtime_error("error loading bitmap from: '"<<bitmap_path<<"'"); 
}; 
//continue if no error 
+1

あなたが質問をしてみてくださいと言い替えるでし

そうしないと、一時std::string値を構築するためにstd::ostringstreamまたは同等のものを使用することができますか? – Eliad

答えて

1

を含めるビットマップをロードするときにエラーをスローします。

bitmap_pathstd:::stringある場合は、代わりに+演算子を使用します。

throw runtime_error("error loading bitmap from: '" + bitmap_path + "'"); 

bitmap_pathがそれを投げ、代わりにchar*ある、または一時std::stringにリテラル最初の文字列、場合ので、あなたが+使用することができます。

throw runtime_error("error loading bitmap from: '" + string(bitmap_path) + "'"); 

ostringstream oss; 
oss << "error loading bitmap from: '" << bitmap_path << "'"; 
throw runtime_error(oss.str());