私はこれを試しました:
#include <map>
int main() {
static std::map<int,int> myMap = [](){
std::map<int,int> myMap;
return myMap;
};
}
エラー:
<stdin>: In function 'int main()':
<stdin>:8:3: error: conversion from 'main()::<lambda()>' to non-scalar type 'std::map<int, int>' requested
はい、別の「通常の」関数を作成して動作させることができることはわかっていますが、ラムダはそのようにオブジェクトを初期化できません。