关于命名空间的问题
//-------------------------------
//head.h
#include<string>
namespace data
{
extern const double pi=3.14159265;
extern const std::string days[]={"sunday","monday","wednesday","thursday","friday","saturday"};
}
//-----------------------------------
//main.cpp
#include<iostream>
#include<string>
#include"head.h"
namespace mydata //将mydata 换成data 就对
{
extern const double data::pi ;
extern const std::string data::days[];
}
int main()
{
std::cout<<std::endl
<<"pi has the value :"
<<mydata::pi<<std::endl;
std::cout<<"The second day of the week is :"
<<mydata::days[1]<<std::endl;
return 0;
}
//错误提示:
/*
------ 已启动生成: 项目: 命名空间, 配置: Debug Win32 ------
正在编译...
命名空间.cpp
c:\documents and settings\tcl\桌面\question\file\命名空间.cpp(6) : error C2888: “const double data::pi”: 不能在命名空间“mydata”内定义符号
c:\documents and settings\tcl\桌面\question\file\命名空间.cpp(7) : error C2888: “const std::string data::days[6]”: 不能在命名空间“mydata”内定义符号
c:\documents and settings\tcl\桌面\question\file\命名空间.cpp(14) : error C2039: “pi”: 不是“mydata”的成员
c:\documents and settings\tcl\桌面\question\file\命名空间.cpp(14) : error C2065: “pi”: 未声明的标识符
c:\documents and settings\tcl\桌面\question\file\命名空间.cpp(16) : error C2039: “days”: 不是“mydata”的成员
c:\documents and settings\tcl\桌面\question\file\命名空间.cpp(16) : error C2065: “days”: 未声明的标识符
生成日志保存在“file://c:\Documents and Settings\tcl\桌面\question\file\Debug\BuildLog.htm”
命名空间 - 6 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
*/
//自己就想在madata 空间引用 data 空间内容,要怎么改?高手们帮帮忙!