NULL和nullptr的區別


 

//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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM