Forms 将表单中的代码放入.cpp文件中
我用这种方式创建了一个表单(表单的.h文件名为Forms 将表单中的代码放入.cpp文件中,forms,file,c++-cx,Forms,File,C++ Cx,我用这种方式创建了一个表单(表单的.h文件名为Example): 这是表单中的默认代码: namespace ExampleNamespace{ public ref class Example : public System::Windows::Forms::Form { public: void DoSomething() { // code here } }; } 我能接受这个吗 创建一个新的.cpp文件
Example
):
这是表单中的默认代码:
namespace ExampleNamespace{
public ref class Example : public System::Windows::Forms::Form
{
public:
void DoSomething()
{
// code here
}
};
}
我能接受这个吗
创建一个新的.cpp文件并命名为Example.cpp
am,将表单中的所有代码都放在.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()代码>在表单i中有以下错误:
error LNK2020: unresolved token (060000BB) ExampleNamespace.Example::DoSomething
我得到了答案,您需要在.cpp文件中包含.h文件之后包含名称空间,如下所示:
#include "Example.h"
using namespace ExampleNamespace;
在*.h文件中,您需要输入以下代码:
#ifndef _EXAMPLE_H_
#define _EXAMPLE_H_
及
像这样:
#ifndef _EXAMPLE_H_
#define _EXAMPLE_H_
namespace ExampleNamespace{
public ref class Example : public System::Windows::Forms::Form
{
public:
void DoSomething()
{
// code here
}
};
}
#endif
你的问题是什么?你试过什么?当你说“不工作”时,你需要更具体(错误消息,编译器输出,…)如果你希望正确的帮助不是C++代码,那就是。我打赌编译器不会说“不工作”。我打赌编译器会给出一条有用的错误消息。你可以看到这个信息,但我们看不到。请纠正您问题中的缺陷。第一个代码是新表单应用程序的默认代码。问题是我是否可以将每个方法中的所有代码都放在一个.cpp文件中。secound代码是我尝试的一种方式,但不起作用。您所有的示例都使用大写D表示DoSomething,编译器使用exampleMespace。Example::DoSomething使用小写D表示DoSomething
#ifndef _EXAMPLE_H_
#define _EXAMPLE_H_
namespace ExampleNamespace{
public ref class Example : public System::Windows::Forms::Form
{
public:
void DoSomething()
{
// code here
}
};
}
#endif