Почему мой проект VSCODE Windows C ++ не смог компилировать, когда я использую функциональность из стандартной библиотекC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой проект VSCODE Windows C ++ не смог компилировать, когда я использую функциональность из стандартной библиотек

Сообщение Anonymous »

Я настроил базовый проект C ++ на Vscode в Windows. Моя программа Main.cpp выглядит так: < /p>
#include

using namespace std;

int main() {
default_random_engine generator();
uniform_int_distribution distribution(0, 10);
printf("%d", distribution(generator));
return 1;
}
< /code>
Однако, когда я компилируюсь и запускаю эту программу, я получаю ошибку: < /p>
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include\random(2321): error C2440: 'static_cast': cannot convert from 'std::mersenne_twister_engine' to 'unsigned int'
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include\random(2321): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include\random(2321): note: the template instantiation context (the oldest one first) is
C:\Users\bensh\OneDrive\Documents\C++Code\Gomoku\main.cpp(59): note: see reference to function template instantiation 'int std::uniform_int_distribution::operator ()(_Engine (__cdecl &))' being compiled
with
[
_Engine=std::default_random_engine (void)
]
C:\Users\bensh\OneDrive\Documents\C++Code\Gomoku\main.cpp(59): note: see the first reference to 'std::uniform_int_distribution::operator ()' in 'main'
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include\random(2401): note: see reference to function template instantiation 'int std::uniform_int::operator ()(_Engine (__cdecl &))' being compiled
with
[
_Ty=int,
_Engine=std::default_random_engine (void)
]
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include\random(2277): note: see reference to function template instantiation 'int std::uniform_int::_Eval(_Engine (__cdecl &),_Ty,_Ty) const' being compiled
with
[
_Ty=int,
_Engine=std::default_random_engine (void)
]

Build finished with error(s).
< /code>
Теперь я не эксперт, но, похоже, это ошибка компиляции в моих стандартных библиотечных источниках. Я попытался использовать другой компилятор (Clang-Cl), но получил такую ​​же ошибку. Есть ли простой способ указать, что VSCODE должен использовать другую версию стандартной библиотеки?
или я ошибаюсь в этой проблеме? Что я могу сделать, чтобы использовать функциональность в моем проекте?


Подробнее здесь: https://stackoverflow.com/questions/796 ... ctionality
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»