小编Elp*_*oca的帖子

lambda表达式的变量参数

lambda的以下用法是错误的,脆弱的还是愚蠢的?它适用于VC++ 2012,但我担心有一些变量 - 参数/ lambda堆栈交互使得这很危险.

class
ArgumentException : public std::runtime_error
{
public:
   ArgumentException( 
      const char* format_,
      ... )
      : std::runtime_error(
         [&]()
         { 
            char buffer[2048];
            va_list arguments;
            va_start ( arguments, format_ );  
            int writtenCount = vsnprintf( buffer, 2048, format_, arguments );
            va_end ( arguments );
            return std::string(buffer); 
         }() )
   {
   }
};
Run Code Online (Sandbox Code Playgroud)

c++ lambda exception variadic-functions

5
推荐指数
1
解决办法
993
查看次数

标签 统计

c++ ×1

exception ×1

lambda ×1

variadic-functions ×1