我有一个需要“使用无名命名空间创建常量变量”的项目,我需要与另一个.cpp文件中的函数共享它。它说变量声明可以在他们自己的文件中。我提到了使用extern关键字,并且我想出了如何使用extern,在头文件中声明var,并声明like extern const char varname;
,在我的main.cpp中为它指定一个值(全局在主函数之上的),并且能够在其他.cpp文件中使用它。但我不确定如何使用未命名的名称空间。在一个示例文件,他们必须在主文件中的以下内容:extern常量,无名命名空间
namespace
{
extern const double time = 2.0;
}
但是现在有例如如何访问在另一个.cpp文件。我试图用我的变量做这件事,我得到了另一个文件中的错误,我尝试使用它,说它没有在该范围内声明。
有人可以提供一些见解,我应该在这里做什么来利用这两件事?
我不认为你明白你的任务。使用未命名名称空间的要点是,在其中定义的函数和变量不能从其他.cpp文件(或使用适当的术语翻译单元)中看到。 – SergeyA
所述的转让似乎是矛盾的。未命名名称空间中的项目不能与任何其他翻译单元的名称共享。我想你可以用'originalfile.cpp'代码中的'#include“otherfile.cpp”'与另一个文件'共享',但这真的是作弊。 –
嗯。那么它说使用未命名的名称空间声明常量,我必须与其他函数分享它,并且它不能通过引用传递。它具体建议使用extern。所以是的,我不确定它想要什么。 – windy401