代码之家  ›  专栏  ›  技术社区  ›  Tony The Lion

在类定义中定义线程池时出现无法解释的语法错误

  •  0
  • Tony The Lion  · 技术社区  · 14 年前

    我有下面的类定义,由于某些原因,我无法在类定义本身中定义线程池。它说:语法错误:标识符'numberofpoolthreads'我试图在类中直接定义它,但它给了我同样的语法错误,有人知道这是为什么吗?

    #include "stdafx.h"
    #include <boost/threadpool.hpp>
    #include <boost/threadpool/pool.hpp>
    #include <boost/threadpool/detail/pool_core.hpp>
    
    typedef boost::threadpool::fifo_pool resolverpool;
    
    class ResolverThreadPoolManager
    {
    public:
        ResolverThreadPoolManager::ResolverThreadPoolManager(int numberofpoolthreads);
        ResolverThreadPoolManager::~ResolverThreadPoolManager();
    
        resolverpool p(numberofpoolthreads);
    
    private:
        int numberofpoolthreads;    
    };
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Oliver Charlesworth    14 年前

    这一行: resolverpool p(numberofpoolthreads);

    class ResolverThreadPoolManager
    {
    public:
        explicit ResolverThreadPoolManager(int numberofpoolthreads);
        ...
    
    private:
        const resolverpool p;
    };
    
    ResolverThreadPoolManager::ResolverThreadPoolManager(int numberofpoolthreads)
        : p(numberofpoolthreads)
        {}
    
        2
  •  0
  •   Eric Towers    14 年前

    在你的队伍里
    resolverpool p(池线程数);

    resolverpool p(int numberofpoolthreads);

    推荐文章