Я настроил базовый проект 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
Почему мой проект VSCODE Windows C ++ не смог компилировать, когда я использую функциональность из стандартной библиотек ⇐ C++
Программы на C++. Форум разработчиков
1750783885
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 должен использовать другую версию стандартной библиотеки?
или я ошибаюсь в этой проблеме? Что я могу сделать, чтобы использовать функциональность в моем проекте?
Подробнее здесь: [url]https://stackoverflow.com/questions/79677945/why-is-my-windows-c-vscode-project-failing-to-compile-when-i-use-functionality[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия