error.c++
来自「卡尔曼滤波类」· C++ 代码 · 共 78 行
C++
78 行
// error.cpp start of Implementation of general error reporting classstatic const char rcsid[] = "@(#)error.c++ 1.6 12:20:33 6/9/95 EFC";#include <string.h>#include <error.hpp>Error::Error(const char *title, ostream& user_os) :#ifdef LOCAL_STRBUF ios(&buffr),#endif my_os(user_os){ len = strlen( title ) + 1; prog = new char[len]; strcpy(prog, title);}void Error::report(const char *msg){ if ( &my_os ) { if ( msg == NULL ) // message must have been sent via << { *this << ends; // just to be safe#ifdef LOCAL_STRBUF my_os << buffr.str(); buffr.freeze(0);#else my_os << str(); rdbuf()->freeze(0);#endif seekp(0); // rewind to beginning } else my_os << msg; my_os << '\n'; }}void Error::warning(const char *msg){ if ( &my_os ) my_os << prog << " Warning: "; report( msg );}void Error::fatal(const char *msg){ if ( &my_os ) { my_os << prog << " Fatal error: "; report( msg ); my_os.flush(); } exit(1);}void Error::memory(const void *p){ if ( p == (void *)NULL ) { if ( &my_os ) my_os << prog << " Memory allocation error" << endl; exit(1); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?