allege.h

来自「Think in C++文中代码实现」· C头文件 代码 · 共 29 行

H
29
字号
//: ALLEGE.H -- Error checking
#ifndef ALLEGE_H_
#define ALLEGE_H_
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

inline void
allege_error(int val, const char * msg){
  if(!val) {
    fprintf(stderr, "error: %s\n", msg);
#ifdef NDEBUG
    exit(1);
#endif
  }
}

#define allege(expr, msg) \
{  allege_error((expr) ? 1 : 0, msg); \
  assert(expr); }

#define allegemem(expr) \
  allege(expr, "out of memory")

#define allegefile(expr) \
  allege(expr, "could not open file")

#endif // ALLEGE_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?