将FORM中的代码放在.cpp文件中

时间:2013-08-26 08:24:19

标签: forms file c++-cx

我有一个以这种方式创建的表单(表单的.h文件名为Example):

这是表单中的默认代码:

namespace ExampleNamespace{

public ref class Example : public System::Windows::Forms::Form
{
   public:
        void DoSomething()
        {
              // code here
        }
};
}

我可以这个吗?

创建一个新的.cpp文件并命名为Example.cpp,这里放在.cpp表单中的所有代码中?这样就行不通了。

namespace ExampleNamespace{

public ref class Example : public System::Windows::Forms::Form
{
   public:
        void DoSomething(); //if i try in this way I will have the error from above
};
}

并在Example.cpp

#include "Example.h"

void Example::DoSomething()
{
   //code here
}

如果我尝试在表单中添加public: void DoSomething();,则会出现此错误:

error LNK2020: unresolved token (060000BB) ExampleNamespace.Example::DoSomething

1 个答案:

答案 0 :(得分:0)

我得到了答案,你需要在.cpp文件中包含.h文件之后包含命名空间:

#include "Example.h"

using namespace ExampleNamespace;

在* .h文件中,您需要输入以下代码:

#ifndef _EXAMPLE_H_
#define _EXAMPLE_H_

#endif
像这样:

#ifndef _EXAMPLE_H_
#define _EXAMPLE_H_

namespace ExampleNamespace{

public ref class Example : public System::Windows::Forms::Form
{
   public:
        void DoSomething()
        {
              // code here
        }
};
}

#endif