Я работаю с небольшой группой над проектом C++ в NetBeans.
По какой-то причине NetBeans сообщает о таких вещах, как «string», «endl», «cout», как «Unable to Resolve», хотя были включены правильные библиотеки.
Проект компилируется и работает, как и ожидалось, так что, в конце концов, в этом нет ничего страшного, просто то, что все помечено как ошибка, очень раздражает.
По этому багу ничего не нашел. Всего одно расплывчатое упоминание в блоге. Кто-нибудь еще испытал это?
Очевидно, что это не широко распространено, поэтому должна быть настройка/конфигурация, которая его вызывает. Кто-нибудь знает, кто, чтобы предотвратить это?
ИЗМЕНИТЬ:
Нет, эти "ошибки" исключительно в IDE. Код компилируется нормально и работает. Разработчик использовал «используя пространство имен std;» так что проблем быть не должно. Похоже, что в среде IDE NetBeans есть ошибки.
Образец кода:
#include <stdlib.h>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
string test;
test = "Why?";
cout << test << endl;
return (EXIT_SUCCESS);
}
Этот код компилируется и выводит «Почему?» но имеет «string», «cout» и «endl», помеченные как ошибки в среде IDE. Явное использование std:: не имеет значения
Очистить Изменить:
Для всех, кто заинтересован, несколько дней спустя у меня было 6 доступных обновлений для NetBeans. После установки этих обновлений проблема была устранена, несмотря на то, что код не изменился. Итак, по-видимому, это была ошибка NetBeans.
<cstdlib>
вместо<stdlib.h>
, когда пишете С++. cstdlib, среди прочего, будет использовать пространства имен в C++. - person Carson Myers   schedule 19.09.2009