Multithreading std::线程缺少类型说明符
我正在尝试使用带有lambda函数的c++11线程。我已经在另一个类上使用了它,但由于某种原因,在我的LogManager静态类上,我遇到了一些奇怪的问题 我的“最小”类是:Multithreading std::线程缺少类型说明符,multithreading,c++11,lambda,Multithreading,C++11,Lambda,我正在尝试使用带有lambda函数的c++11线程。我已经在另一个类上使用了它,但由于某种原因,在我的LogManager静态类上,我遇到了一些奇怪的问题 我的“最小”类是: #include <iostream> #include <fstream> #include <map> #include <vector> #include <algorithm> #include <thread> using namespac
#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";
});
}
};
}
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
命名空间调试{
枚举日志级别{
错误,/*! std::cout,尽管您试图混淆编译器(使用名称空间std
,然后命名参数字符串
和函数日志
),上面的代码似乎是编译的:。很遗憾,您没有发布错误的行号。您使用的编译器是什么?它实际上支持lambdas吗?@kfsone编译器支持lambda,我正在另一个类上使用它,我正在visual studio 2013上编译