Submission #202658

#TimeUsernameProblemLanguageResultExecution timeMemory
202658stefdascaNautilus (BOI19_nautilus)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #define god dimasi5eks #pragma GCC optimize("O3") #define fi first #define se second #define pb push_back #define pf push_front #define mod 1000000007 #define dancila 3.14159265359 #define eps 1e-9 // #define fisier 1 using namespace std; typedef long long ll; int n, m, k; string s; char mat[502][502]; bitset<5001> dp[502][502]; int main() { #ifdef fisier ifstream f("input.in"); ofstream g("output.out"); #endif ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m >> k; for(int i = 0; i < n; ++i) cin >> mat[i]; cin >> s; for(int i = 0; i < n; ++i) for(int j = 0; j < m; ++j) if(mat[i][j] != '#') dp[i][j][0] |= 1; for(int x = 0; x < k; ++x) { if(s[x] == 'E') { for(int i = 0; i < n; ++i) for(int j = 0; j + 1 < m; ++j) { if(!dp[i][j][x]) continue; if(mat[i][j+1] != '#') dp[i][j+1][x+1] |= 1; } } if(s[x] == 'W') { for(int i = 0; i < n; ++i) for(int j = 1; j < m; ++j) { if(!dp[i][j][x]) continue; if(mat[i][j-1] != '#') dp[i][j-1][x+1] |= 1; } } if(s[x] == 'N') { for(int i = 1; i < n; ++i) for(int j = 0; j < m; ++j) { if(!dp[i][j][x]) continue; if(mat[i-1][j] != '#') dp[i-1][j][x+1] |= 1; } } if(s[x] == 'S') { for(int i = 0; i + 1 < n; ++i) for(int j = 0; j < m; ++j) { if(!dp[i][j][x]) continue; if(mat[i+1][j] != '#') dp[i+1][j][x+1] |= 1; } } if(s[x] == '?') { for(int i = 0; i < n; ++i) for(int j = 0; j < m; ++j) { if(!dp[i][j][x]) continue; if(j + 1 < m && mat[i][j+1] != '#') dp[i][j+1][x+1] |= 1; if(i + 1 < n && mat[i+1][j] != '#') dp[i+1][j][x+1] |= 1; if(j && mat[i][j-1] != '#') dp[i][j-1][x+1] |= 1; if(i && mat[i-1][j] != '#') dp[i-1][j][x+1] |= 1; } } } int ans = 0; for(int i = 0; i < n; ++i) for(int j = 0; j < m; ++j) ans += dp[i][j][k]; cout << ans; return 0; }

Compilation message (stderr)

nautilus.cpp: In function 'int main()':
nautilus.cpp:42:29: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                 dp[i][j][0] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:53:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i][j+1][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:64:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i][j-1][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:75:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i-1][j][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:86:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i+1][j][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:97:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i][j+1][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:99:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i+1][j][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:101:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i][j-1][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'
nautilus.cpp:103:41: error: no match for 'operator|=' (operand types are 'std::bitset<5001>::reference' and 'int')
                         dp[i-1][j][x+1] |= 1;
In file included from /usr/include/c++/7/ios:42:0,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from nautilus.cpp:1:
/usr/include/c++/7/bits/ios_base.h:99:3: note: candidate: const std::_Ios_Fmtflags& std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:99:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Fmtflags&'
/usr/include/c++/7/bits/ios_base.h:141:3: note: candidate: const std::_Ios_Openmode& std::operator|=(std::_Ios_Openmode&, std::_Ios_Openmode)
   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:141:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Openmode&'
/usr/include/c++/7/bits/ios_base.h:181:3: note: candidate: const std::_Ios_Iostate& std::operator|=(std::_Ios_Iostate&, std::_Ios_Iostate)
   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
   ^~~~~~~~
/usr/include/c++/7/bits/ios_base.h:181:3: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::_Ios_Iostate&'
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105:0,
                 from nautilus.cpp:1:
/usr/include/c++/7/future:167:18: note: candidate: std::launch& std::operator|=(std::launch&, std::launch)
   inline launch& operator|=(launch& __x, launch __y)
                  ^~~~~~~~
/usr/include/c++/7/future:167:18: note:   no known conversion for argument 1 from 'std::bitset<5001>::reference' to 'std::launch&'