DeepSeek R1 写出了 VC++ 2022 不能编译的代码
DeepSeek R1 写出了 VC++ 2022 不能编译的代码
让 DeepSeek R1 写了一段用 C++ 生成随机数的代码,结果给出了错误代码,如下:
#include <random>
static std::mt19937 rng{std::random_device{}()};
std::uniform_int_distribution<uint8_t> dist(1, 255);
// 以下代码𥃻略
各位看出错在哪里了吗?是 std::uniform_int_distribution
不接受 uint8_t
作为类型参数,具体的错误提示如下:
C2338 static_assert failed: 'invalid template argument for uniform_int_distribution: N4950 [rand.req.genl]/1.5 requires one of short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long'
C2338 static_assert failed: 'note: char, signed char, unsigned char, char8_t, int8_t, and uint8_t are not allowed'
在错误信息里,给出了详细的支持的和不支持的类型列表。
<完>