在C ++ / CLI中无法识别名称空间

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

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

这基本上就是我所拥有的:

Pets.cpp:

namespace Animals { public ref class Pets { public: List ^vDogs; Pets::Pets() { vDogs = gcnew List(); } 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和C ++编译器的构建模型。 在千字节的记忆占用鞋盒的空间时制定。 它是一个单程编译器,一次处理一个.cpp文件。 使用链接器将位粘合在一起。

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