Я пытаюсь использовать функцию p2589r1 из C ++ 23, на которой ссылается в следующем файле, который поддерживается MSVC 17.14. DRACK (/STD: C ++ ANDARY) "ИЛИ" Предварительный просмотр - ISO C ++ 23 Стандарт (/std: C ++ 23Preview) ", следующий кусок кода все еще повышает ошибку компилятора.
struct X
{
static int operator[](int i) { return i * 2; }
};
int main()
{
return X[3];
}
Ошибка: E0342 - Оператор не может быть статической функцией члена.Build started at 20:29...
1>------ Build started: Project: ProjectTest, Configuration: Debug x64 ------
1>Build started 03/07/2025 20:29:30.
1>Target PrepareForBuild:
1> Structured output is enabled. The formatting of compiler diagnostics will reflect the error hierarchy. See https://aka.ms/cpp/structured-output for more details.
1>Target InitializeBuildStatus:
1> Touching "ProjectTest\x64\Debug\ProjectTest.tlog\unsuccessfulbuild".
1>Target ComputeStdModulesCompileInputs:
1> Reading library manifest file 'C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\modules\modules.json' which provides data for library 'microsoft/STL'.
1> Adding module source 'C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\modules\std.ixx' from library 'microsoft/STL' to be built with this project.
1> Adding module source 'C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\modules\std.compat.ixx' from library 'microsoft/STL' to be built with this project.
1>Target ClCompile:
1> Source.cpp
1> C:\Users\XXX\ProjectTest\Source.cpp(8,12): error C2275: 'X': expected an expression instead of a type
1>Done building target "ClCompile" in project "ProjectTest.vcxproj" -- FAILED.
1>
1>Done building project "ProjectTest.vcxproj" -- FAILED.
1>
1>Build FAILED.
1>
1>C:\Users\XXX\ProjectTest\Source.cpp(8,12): error C2275: 'X': expected an expression instead of a type
1> 0 Warning(s)
1> 1 Error(s)
1>
1>Time Elapsed 00:00:00.05
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 20:29 and took 00.123 seconds ==========
Подробнее здесь: https://stackoverflow.com/questions/796 ... ual-studio
Как получить доступ к функции C ++ P2589R1 в Microsoft Visual Studio? ⇐ C++
Программы на C++. Форум разработчиков
1751567579
Anonymous
Я пытаюсь использовать функцию p2589r1 из C ++ 23, на которой ссылается в следующем файле, который поддерживается MSVC 17.14. DRACK (/STD: C ++ ANDARY) "ИЛИ" Предварительный просмотр - ISO C ++ 23 Стандарт (/std: C ++ 23Preview) ", следующий кусок кода все еще повышает ошибку компилятора.
struct X
{
static int operator[](int i) { return i * 2; }
};
int main()
{
return X[3];
}
Ошибка: E0342 - Оператор не может быть статической функцией члена.Build started at 20:29...
1>------ Build started: Project: ProjectTest, Configuration: Debug x64 ------
1>Build started 03/07/2025 20:29:30.
1>Target PrepareForBuild:
1> Structured output is enabled. The formatting of compiler diagnostics will reflect the error hierarchy. See https://aka.ms/cpp/structured-output for more details.
1>Target InitializeBuildStatus:
1> Touching "ProjectTest\x64\Debug\ProjectTest.tlog\unsuccessfulbuild".
1>Target ComputeStdModulesCompileInputs:
1> Reading library manifest file 'C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\modules\modules.json' which provides data for library 'microsoft/STL'.
1> Adding module source 'C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\modules\std.ixx' from library 'microsoft/STL' to be built with this project.
1> Adding module source 'C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\modules\std.compat.ixx' from library 'microsoft/STL' to be built with this project.
1>Target ClCompile:
1> Source.cpp
1> C:\Users\XXX\ProjectTest\Source.cpp(8,12): error C2275: 'X': expected an expression instead of a type
1>Done building target "ClCompile" in project "ProjectTest.vcxproj" -- FAILED.
1>
1>Done building project "ProjectTest.vcxproj" -- FAILED.
1>
1>Build FAILED.
1>
1>C:\Users\XXX\ProjectTest\Source.cpp(8,12): error C2275: 'X': expected an expression instead of a type
1> 0 Warning(s)
1> 1 Error(s)
1>
1>Time Elapsed 00:00:00.05
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 20:29 and took 00.123 seconds ==========
Подробнее здесь: [url]https://stackoverflow.com/questions/79689280/how-to-access-the-c-feature-p2589r1-in-microsoft-visual-studio[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия