【发布时间】:2011-03-22 21:20:27
【问题描述】:
我正在查看某人编写的两行代码,第二行有一个异常,但我不明白为什么。
char** array = (char**) new char [2] [6];
std_strlprintf(array[0],6,"[%d]", num);
std_strlprintf 是一个将格式化输出写入字符串的 Brew 函数。 (num是一个整数,为0)
为什么这段代码会出现异常,将数组的第一个元素作为 buff[0] 访问有什么问题?
编辑:抱歉,我最初的帖子中有错字。现在更正了。 这是有异常的代码。
【问题讨论】:
-
第一行你声明了一个名为'array'的变量......什么是buff?你的意思是 std_strlprintf(array[0],6,"[%d]", num); - 但它应该是 std_strlprintf(array[0][0],6,"[%d]", num);
-
如果你需要在新的时候投射你做错了。
-
我确实是这个意思,但如果它是 array[0][0] 那么这将是传递一个 char 而不是 char* 到 std_strlprintf()。
标签: c++ brew-framework