Неполный тип не допускается (c++ VSCODE)

Я просто создал массив a, используя класс контейнера. Однако IntelliSense VScode показывает ошибку. Вот реализация сортировки выбором.

Неполный тип не допускается (c++ VSCODE)

содержимое файла c_cpp_properties.json следующее

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.16299.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx64/x64/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

код компилируется и успешно запускается. Как исправить неправильную ошибку IntelliSense?

Пожалуйста, включите минимальный воспроизводимый пример как текст в текст вопроса. Изображения крошечных фрагментов не учитывают важный контекст и не позволяют нам воспроизвести вашу ошибку. В этом случае важно знать, действительно ли вы сделали #include <array>, и иметь оператор using, чтобы избежать необходимости std:: квалифицировать array.

ShadowRanger 21.05.2019 18:07

Вам, вероятно, нужно #include <array> помнить, что intellisense — это другой компилятор, чем тот, который на самом деле компилирует ваш код.

drescherjm 21.05.2019 18:07

Я включил заголовок bits/stdc++.h. позвольте мне отредактировать вопрос.

Ani 21.05.2019 18:12

Прочтите Почему я не должен #include <bits/stdc++.h>?

Some programmer dude 21.05.2019 18:17

Я понимаю последствия включения bits/stdc++.h. Однако я получаю ту же ошибку для макроса print, который я определил. почему это?

Ani 21.05.2019 18:19

"Я понимаю последствия" *спрашивает о последствиях*

Lightness Races in Orbit 21.05.2019 18:19

Я попытался вставить ваш снимок экрана в свою IDE, но моя IDE не смогла скомпилировать изображение. Пожалуйста, отредактируйте свой пост с текстом из IDE (подсказка: выделите мышью, скопируйте в буфер обмена, затем вставьте в свой вопрос).

Thomas Matthews 21.05.2019 18:20

Компилятор, используемый для IntelliSense, может не иметь этого заголовка.

drescherjm 21.05.2019 18:20

читать: почти наверняка нет этого заголовка

Lightness Races in Orbit 21.05.2019 18:21

@ThomasMatthews вор :P

Lightness Races in Orbit 21.05.2019 18:21

также стоп using namespace std

phuclv 21.05.2019 18:33

Да, я тоже это знаю.

Ani 21.05.2019 18:33
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
12
4 577
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Прекратите включать bits/stdc++.h.

Это заголовок реализации для некоторых цепочек инструментов. Это не для вас.

Вместо этого включите правильный заголовок:

#include <array>

(Вероятно, ваш механизм Intellisense не имеет доступа к этому внутреннему заголовку с платформ Linux.)

Кстати, вам не разрешено выбирать имена, начинающиеся с двух символов подчеркивания. Так что прекрати и это.

да. Компилятор, который использует intellisense, не имеет bits/stdc++.h и в том числе array исправил это. Однако удаление __ из макроса не устранило ошибку

Ani 21.05.2019 18:22

Я не говорил, что удаление __ исправит ошибку, я сказал, что вам не разрешено его использовать. Он может сломаться в будущем. Честно говоря, это должно было быть освещено в вашей книге :/

Lightness Races in Orbit 21.05.2019 18:23
Однако удаление __ из макроса не устранило ошибку Это может вызвать другие проблемы.
drescherjm 21.05.2019 18:23

@drescherjm да. Так и было. Спасибо. Я починю это.

Ani 21.05.2019 18:23

Другие вопросы по теме