私は4.4.1がラムダ式をサポートしていないので、gccコンパイラを4.9.2から4.4.1にダウングレードしました。次のコードでは、ラムダ式[](void*d){ dlclose(d); }
が使用され、ラムダ式に起因するエラーが発生します。誰もラムダ式なしで以下のコードを使用する方法を助けることができますか?ラムダ式相当のC++コード
using libs_t = std::unique_ptr<void,std::function<void(void*)>>;
私はちょうどdlclose
を試し以下で上記の行を置き換えますが、それはまた、GCC 4.4.1
typedef std::unique_ptr<void,std::function<void(void*)>> libs_t ;
m_libs[ lib_name ] = libs_t (handle, [](void*d){ dlclose(d); });
コンパイラはstd関数をサポートしていますか? – Yakk
@ user3906620ラムダ式のような本体を持つ関数を定義する –
はいそれはstdをサポートします – user3906620