@
elfive 这是修改后的
__uctype __urngmin = _UniformRandomBitGenerator::min();
__uctype __urngmax = _UniformRandomBitGenerator::max();
assert( __urngmin < __urngmax);
报错信息变多了....
g++ -O3 -std=c++11 -Wall -Wpedantic -pthread -c -o omp/EquityCalculator.o omp/EquityCalculator.cpp
In file included from omp/EquityCalculator.cpp:1:
omp/EquityCalculator.h:76:21: error: ‘std::function’ has not been declared
76 | std::function<void(const Results&)> callback = nullptr,
| ^~~~~~~~
omp/EquityCalculator.h:76:29: error: expected ‘,’ or ‘...’ before ‘<’ token
76 | std::function<void(const Results&)> callback = nullptr,
| ^
omp/EquityCalculator.h:202:10: error: ‘function’ in namespace ‘std’ does not name a template type
202 | std::function<void(const Results& results)> mCallback;
| ^~~~~~~~
omp/EquityCalculator.h:15:1: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’?
14 | #include <unordered_map>
+++ |+#include <functional>
15 | #include <array>
omp/EquityCalculator.h:76:16: error: default argument missing for parameter 6 of ‘bool omp::EquityCalculator::start(const std::vector<omp::CardRange>&, uint64_t, uint64_t, bool, double, int)’
76 | std::function<void(const Results&)> callback = nullptr,
| ^~~~~~~~~~~~~
omp/EquityCalculator.h:74:67: note: ...following parameter 2 which has a default argument
74 | bool start(const std::vector<CardRange>& handRanges, uint64_t boardCards = 0, uint64_t deadCards = 0,
| ~~~~~~~~~^~~~~~~~~~~~~~
omp/EquityCalculator.cpp:14:74: error: ‘std::function’ has not been declared
14 | bool enumerateAll, double stdevTarget, std::function<void(const Results&)> callback,
| ^~~~~~~~
omp/EquityCalculator.cpp:14:82: error: expected ‘,’ or ‘...’ before ‘<’ token
14 | bool enumerateAll, double stdevTarget, std::function<void(const Results&)> callback,
| ^
omp/EquityCalculator.cpp: In member function ‘bool omp::EquityCalculator::start(const std::vector<omp::CardRange>&, uint64_t, uint64_t, bool, double, int)’:
omp/EquityCalculator.cpp:47:5: error: ‘mCallback’ was not declared in this scope
47 | mCallback = callback;
| ^~~~~~~~~
omp/EquityCalculator.cpp:47:17: error: ‘callback’ was not declared in this scope; did you mean ‘calloc’?
47 | mCallback = callback;
| ^~~~~~~~
| calloc
omp/EquityCalculator.cpp:48:23: error: ‘updateInterval’ was not declared in this scope; did you mean ‘mUpdateInterval’?
48 | mUpdateInterval = updateInterval;
| ^~~~~~~~~~~~~~
| mUpdateInterval
omp/EquityCalculator.cpp:51:9: error: ‘threadCount’ was not declared in this scope
51 | if (threadCount == 0)
| ^~~~~~~~~~~
omp/EquityCalculator.cpp:53:26: error: ‘threadCount’ was not declared in this scope
53 | mUnfinishedThreads = threadCount;
| ^~~~~~~~~~~
omp/EquityCalculator.cpp: In member function ‘void omp::EquityCalculator::updateResults(const omp::EquityCalculator::BatchResults&, bool)’:
omp/EquityCalculator.cpp:740:13: error: ‘mCallback’ was not declared in this scope
740 | if (mCallback)
| ^~~~~~~~~
make: *** [<builtin>: omp/EquityCalculator.o] Error 1