他似乎有自定义比较器,如下:
我选择了一个,如上图。
然后它编译就报错了,错误信息好像是关于 uint64_t 的。
[08:17:26] [评测器] [开始编译评测器]
[08:17:29] [评测器] [
编译评测器时发生错误:
In file included from C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/checker.cpp:1:
C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/testlib.h: In member function 'std::vector<T> random_t::distinct(int, T, T)':
C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/testlib.h:1006:9: error: 'uint64_t' was not declared in this scope
1006 | uint64_t n = to - from + 1;
| ^~~~~~~~
C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/testlib.h:185:1: note: 'uint64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
184 | # include <windows.h>
+++ |+#include <cstdint>
185 | # else
C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/testlib.h:1007:30: error: 'n' was not declared in this scope
1007 | if (uint64_t(size) > n)
| ^
C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/testlib.h:1012:32: error: 'n' was not declared in this scope
1012 | expected += double(n) / double(n - i + 1);
| ^
C:/Users/20144/AppData/Local/Temp/CP Editor-POgFmE/testlib.h:1014:31: error: 'n' was not declared in this scope
1014 | if (expected < double(n)) {
| ^
]
信息如上,我用的编译器是 winlibs.com 上的 MSVCRT runtime 中的 GCC 13.2.0 (with POSIX threads) + LLVM/Clang/LLD/LLDB 16.0.6 + MinGW-w64 11.0.1 (UCRT) - release 1 (LATEST)
请问各位大佬,我应该如何解决这个问题。