首页 > 技术文章 > NULL和nullptr的区别

denggelin 2016-07-12 12:16 原文

 

//error C2665: “go”: 2 个重载中没有一个可以转换所有参数类型

 

 1 #include <iostream>
 2 
 3 void go(int num)
 4 {
 5     std::cout << "go num" << std::endl;
 6 }
 7 
 8 void go(char *p)
 9 {
10     std::cout << "go p" << std::endl;
11 }
12 
13 void main()
14 {
15     void *p = NULL;
16 
17     go(p);//error C2665: “go”: 2 个重载中没有一个可以转换所有参数类型
18 }

 

NULL是0

nullptr是空指针void

 

 1 #include <iostream>
 2 
 3 void go(int num)
 4 {
 5     std::cout << "go num" << std::endl;
 6 }
 7 
 8 void go(void *p)
 9 {
10     std::cout << "go p" << std::endl;
11 }
12 
13 void main()
14 {
15     void *p = NULL;
16 
17     go(p);//go p
18 
19     go(NULL);//go num
20 
21     go(nullptr);//go p
22 
23     system("pause");
24 }

 

推荐阅读