我有一个以这种方式创建的表单(表单的.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
答案 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