[英]Using namespaces in C++?
這段代碼有什么問題? 它說 func1 和 func2 沒有聲明。 我嘗試使用“使用命名空間 func1::print()”來聲明它,但我仍然收到此錯誤?
#include<iostream>
using namespace std;
int main(){
func1::print();
func2::print();
return 0;
}
namespace func1 {
void print() {
cout<<"HELLO WORLD";
}
}
namespace func2 {
void print() {
cout<<"HELLO";
}
}
只需重新排序您的代碼,如下所示:
#include<iostream>
using namespace std;
namespace func1 {
void print() {
cout << "HELLO WORLD";
}
}
namespace func2 {
void print() {
cout << "HELLO";
}
}
int main() {
func1::print();
func2::print();
return 0;
}
這樣,您的兩個namespace
和print
函數在main
中使用時已被聲明和定義。
您可以將 function 定義放在 main 之前,或者 function 聲明告訴編譯器 function 存在於某處。 稍后它將尋找實際的定義,如果找不到它會抱怨。
#include<iostream>
using namespace std;
namespace func1 {
void print();
}
namespace func2 {
void print();
}
int main() {
func1::print();
func2::print();
return 0;
}
namespace func1 {
void print() {
cout<<"HELLO WORLD";
}
}
namespace func2 {
void print() {
cout<<"HELLO";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.