vim — Почему YouCompleteMe по-прежнему отображает предупреждение о синтаксисе, когда я включаю правильную библиотеку C ++?

Когда я включаю нужную библиотеку, строка «#include ..» не показывает никаких предупреждений. Но когда я использую функции в этой библиотеке, я обнаруживаю, что Vim показывает, что «..use of undeclared function …». Кажется, что библиотека не правильно включена. Итак, я хочу знать, как решить эту проблему?

Скриншоты для этого вопроса прилагаются следующим образом:

Синтаксическая ошибка Предупреждение

Настройка для файла .ycm_extra_conf.py

-1

Решение

Попробуйте включить его следующим образом:

#include <stdlib.h>  //use <> instead of  ""

Кроме того, функция «printf» происходит из библиотеки «cstdio», поэтому попробуйте реализовать и эту библиотеку,

#include <stdio.h>

ОБНОВЛЕНО

Самый простой способ решить эту проблему:

Включите библиотеку stdio.h

#include <stdio.h>

Тогда вместо того, чтобы печатать;

printf('s');

ты сделаешь,

printf("s");

Теперь, если вы действительно хотите напечатать символ ‘s’, используйте

printf("%c", 's');   // Tells the printf function that 's' is a character

Окончательный код будет выглядеть так:

#include <stdio.h>
int main(int argc, char** argv) {
printf("s");
printf("%c", 's');
return 0;
}

Теперь ваш комментарий был о том, что «cout» не работает. Чтобы «cout» работал, вам нужно включить библиотеку iostream:

#include <iostream>

Затем вы можете использовать «cout» в вашем коде;

std::cout << 's';
std::cout << "s";

Или вы можете включить «namespace std» и библиотеку «iostream», чтобы избежать использования std :: before «cout»

include <iostream>
using namespace std;

После этого используйте cout без std ::

cout << 's';
cout << "s";

Окончательный код будет;

#include <iostream>
using namespace std;

int main(int argc, char** argv) {
cout << 's';
cout << "s";
return 0;
}

Если вы хотите узнать больше о том, что находится в библиотеке iostream и как ее использовать, я рекомендую использовать этот сайт:

http://www.cplusplus.com/reference/iostream/

Кроме того, для stdio.h,

http://www.cplusplus.com/reference/cstdio/

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]