[英]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.