1

Мне нужно использовать vector из C++/CLI. Но как только я подключаю заголовочный файл вот таким образом:

#include <cliext/vector>

то код перестаёт компилироваться, хотя я даже не использую экземпляры этого вектора. Вываливаются следующие ошибки:

1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\cliext\iterator(197): error C2059: syntax error: ':'
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\cliext\iterator(265): note: see reference to class template instantiation 'cliext::ConstBidirectionalIterator<_Cont_t>' being compiled
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\cliext\iterator(197): error C2334: unexpected token(s) preceding ':'; skipping apparent function body
1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\cliext\iterator(265): fatal error C1903: unable to recover from previous error(s); stopping compilation

Использую Visual Studio Community 2017 15.9.3

  • Тут играет роль ещё два момента, 1)какие #include написаны до данного. Если никаких - то нормально компилятор себя ведёт. Лучше инклюд дописывать вниз. 2) это у вас unmanaged scope или managed. Возможно этот переключатель даст результат. – nick_n_a Nov 30 '18 at 09:55
  • #include <cliext/vector>

    int main() { return 0; }

    Вот весь файл, больше ничего нет.

    – Виктор Nov 30 '18 at 10:02
  • Скорее всего не хватает какой-то из зависимых библиотек. – nick_n_a Nov 30 '18 at 10:05
  • А проект у вас какого типа? – Alexander Petrov Nov 30 '18 at 13:37
  • Не совсем понимаю, что имеется в виду под типом проекта. Если я правильно угадал, то Visual C++. CLR в настройках включен. – Виктор Nov 30 '18 at 13:45
  • Да, именно, я хотел узнать, включена ли поддержка CLR. – Alexander Petrov Nov 30 '18 at 15:07

0 Answers0