在线程池实现中:
有一个 threadpool.h 有一个虚拟类线程池。
class ThreadPool {
funcX (){} = 0
...
}
// ThreadPoolImpl not defined or declared in this file.
在对应的threadpool.cpp中,有继承自threadpool的实现threadpoolImpl。
//include threadpool.h header.
class ThreadPoolImpl : public ThreadPool {
funcX() {....}; // The function I want to debug inside.
}
我的问题:
在我的主函数中:如果我只包含 threadpool.h,那么由于缺少 threadpoolImpl 定义,我得到
incomplete type not allowed error.
如果我包含 threadpool.cpp 而不是 threadpool.h,则会出现链接错误,因为 threadpool.cpp 被编译了两次。为了解决这个问题,我从我的项目中删除了 threadpool.cpp。但是,这样,我无法使用断点调试 threadpool.cpp。
请有人告诉我是否可以使用 threadpoolImpl 同时也能够在其中调试(使用 VS IDE 工具),还是我必须重写它?