std :: thread缺少类型说明符

时间:2015-06-29 01:41:06

标签: multithreading c++11 lambda

我正在尝试使用带有lambda函数的c ++ 11线程。我已经在另一个类上使用它了,但由于某些原因我在LogManager静态类中遇到了一些奇怪的问题。

我的“最小”课程是:

#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
#include <thread>

using namespace std;
namespace Debug {
    enum LogLevel{
        ERROR, /*!< Mensagens de erro. */
        WARNING, /*!< Mensagens de alerta. */
        MESSAGE, /*!< Mensagens gerais, normalmente utilizadas para propositos de debug. */
        UNKNOWN /*!< Mensagems de de origem desconhecidas, normalmente utilizadas em exceptions */
    };
    class LogManager{

    public:
        template<typename T, typename... Args>
        static void log(LogLevel logLevel, const char *string, T value = "", Args... args){

            std::thread t([=](){
                std::cout << "thread function\n";
            });


        }
    };
}

当我尝试编译时,我得到一些:

错误2错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int - 错误

它似乎不是一个编译器问题,我在另一个类上有“相同”的代码,它似乎是我忘记的东西,我不知道静态类是否可能是一个问题。

由于

0 个答案:

没有答案