雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C++與namespace有關(guān)的兩個編譯錯誤的講解

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊:

某次,在大型的工程代碼中,我這樣調(diào)用:

#include <iostream>
using namespace std;
namespace A
{
void fun()
{
 printf("aaa\n");
}
}
namespace B
{
void fun()
{
 printf("bbb\n");
}
}
int main()
{
 fun();
 return 0;
}

編譯出錯:error: ‘fun' was not declared in this scope,查了一下,原來是名空間在搗鬼。另外,名空間中的函數(shù)為什么不縮進呢?我想了一下,理解了當(dāng)時寫代碼的人為什么要這樣做。

再看我遇到的另外一次錯誤:

#include <iostream>
using namespace std;
namespace A
{
 void fun()
 {
 printf("aaa\n");
 }
}
namespace B
{
 void fun()
 {
 printf("bbb\n");
 }
}
using namespace A;
using namespace B;
int main()
{
 fun();
 return 0;
}

結(jié)果:call of overloaded ‘fun()' is ambiguous ,錯誤很顯而易見了。實際中也確實經(jīng)常會犯這種錯誤。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對我們的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

上一篇:C語言字符/字符串相關(guān)函數(shù)收藏大全

欄    目:C語言

下一篇:c++先序二叉樹的構(gòu)建詳解

本文標(biāo)題:C++與namespace有關(guān)的兩個編譯錯誤的講解

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/328.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有