c++中的函数应用问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 16:26:23
#include <iostream>
#include<cassert>
void displaymsg(char* msg);

int main()
{
char* cp=0;
displaymsg(cp);

return 0;

}

void displaymsg(char* msg)
{
assert(msg!=0);
std::cout<<msg;
}

为什么显示assert函数没有明确的定义,哪位帮忙看一下,谢谢了。

assert()函数被定义在了cassert头文件里了。

以下是assert()在assert.h里的定义:

#undef assert

#ifdef NDEBUG

#define assert(exp) ((void)0)

#else

#ifdef __cplusplus
extern "C" {
#endif

_CRTIMP void __cdecl _assert(const char *, const char *, unsigned);

#ifdef __cplusplus
}
#endif

#define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) )

#endif /* NDEBUG */

你的程序是正确的啊,有问题吗?
如果有问题,估计是编译环境的问题
至少我的vs2008能正确运行