命名空间在c++ /CLI中无法识别

本文关键字:识别 CLI c++ 命名空间 | 更新日期: 2023-09-27 18:02:20

我最近问了这个问题:在c++/cli中创建一个命名空间?所以我试着在c++/cli中创建自己的命名空间。

但是,当我在两个单独的文件(.cpp)中使用相同的名称空间时,名称空间显然不能被识别为相同,因为当我试图引用另一个文件中的另一个类时,我会得到错误。

这是我的基本内容:

Pets.cpp:

namespace Animals
   {
   public ref class Pets 
     {
     public:
        List<Dog> ^vDogs;
     Pets::Pets()
        {
        vDogs = gcnew List<Dog^>();
        }
     void Pets::DoSomething()
        {
        }
     };
   }

Dog.cpp:

namespace Animals
   {
   public ref class Dog 
     {
     Dog::Dog()
        {
        }
     void Dog::DoSomething()
        {
        }
     };
   }

其他信息:

1)文件位于相同的文件夹

2)文件被添加到不同的文件夹

中的现有解决方案中

3)我也尝试了using namespace Animals在两个文件,但我得到一个错误说命名空间不存在。

4)我正在使用Visual Studio 2010(仅供参考,如果有人有办法修复,但我需要在VS中做一些特定的事情)

所以我的问题是:我需要做什么才能使名称空间被识别?

为了解决这个问题,请告诉我还需要什么信息。

提前感谢您的时间和耐心!:)

命名空间在c++ /CLI中无法识别

c++/CLI编译器坚持使用传统C和c++编译器的构建模型。在一个千字节的内存占用一个鞋盒那么大的空间的时候形成的。它是一次处理一个.cpp文件的单遍编译器。用连接器把它们粘在一起

这意味着你必须使用传统的头文件来声明你的类,并在源代码文件的顶部使用#include指令来包含它。