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函数没有明确的定义,哪位帮忙看一下,谢谢了。
#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能正确运行