我遇到了一个断言的例子,并想知道它#是为了什么:
#define ASSERT( x ) if ( !( x ) ) { \
int *p = NULL; \
DBGPRINTF("Assert failed: [%s]\r\n Halting.", #x); \
*p=1; \
}
Run Code Online (Sandbox Code Playgroud) 我正在查看有人编写的两行代码,第二行有一个例外,但我不明白为什么.
char** array = (char**) new char [2] [6];
std_strlprintf(array[0],6,"[%d]", num);
Run Code Online (Sandbox Code Playgroud)
std_strlprintf是一个Brew函数,它将格式化输出写入字符串.(num是一个0的整数值)
为什么这段代码有异常,访问数组的第一个元素为buff [0]有什么问题?
编辑:抱歉我的帖子中有一个错字.现在纠正了.这是具有异常的代码.