我正在开发一个需要运行多任务的程序,以便可以运行计时器。
这是包含文件(MyRunTimers.h
):
#pragma once
#include <afxwin.h>
class MyRunTimers :
public CObject
{
int m_nNum;
bool m_bDone = FALSE;
CObject* m_pOwner = NULL;
bool m_bAutoDelete = FALSE;
void MyTimerThread();
public:
DECLARE_DYNAMIC(MyRunTimers)
protected:
MyRunTimers::MyRunTimers();
MyRunTimers::~MyRunTimers();
};
这是cpp文件(MyRunTimers.cpp
):#include "pch.h"
#include "MyRunTimers.h"
IMPLEMENT_DYNCREATE(MyRunTimers, CObject)
MyRunTimers::MyRunTimers()
{
m_bDone = FALSE;
m_pOwner = NULL;
m_bAutoDelete = FALSE;
}
MyRunTimers::~MyRunTimers()
{
}
当我尝试编译IMPLEMENT_DYNCREATE
时,它以红色突出显示,并且得到:最佳答案
如果类声明(头文件)中有DECLARE_DYNAMIC(MyClass)
,则定义文件中需要IMPLEMENT_DYNAMIC(MyClass, BaseClass)
。
另外,如果您实际上需要IMPLEMENT_DYNCREATE()
,那么在类定义中应该包含DECLARE_DYNCREATE()
。
有关差异的讨论,请参见此处:Why should i use DECLARE_DYNAMIC instead of DECLARE_DYNCREATE?。
关于c++ - 带有IMPLEMENT_DYNCREATE的Microsoft Visual Studio C++ 2019编译器错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64076465/