このコードが断片化する理由:
if (iErr) {
std::stringstream ss;
string serror("error");
ss << "lua error code " << iErr << ": " << lua_tostring(lua, -1);
ss >> serror;
Log *log= StandardLog::getInstance();
log->logError("Lua error following in next line");
log->logError(serror);
//lua_pop(lua, 1);/* pop error message from the stack */
return 1;
}
印刷するだけです:
Lua error following in next line
lua
それ以外の
Lua error following in next line
lua error code 3: lua/generator/generator_example_nodenavigator.lua:10: attempt to call global 'require' (a nil value)
ロガーの行は次のようになります。
void Logger::log(char message[]){
string smessage(message);
log(smessage);
}
void Logger::log(string smessage){
...
}
しかし、cerrを使用して同じ出力を取得しているため、ロガーに問題はないようです。