Ide Netbeans в Линукс C++ подчеркивает красным некоторые функции из stl не смотря на то что заголовки подключены
ВОПРОС НЕ В КОДЕ, ВОПРОС В ОПИСАНИИ!
У меня Ide Netbeans линукс подчеркивает красным буд-то находит ошибку некоторые функции из stl, к примеру std::function<> и std::make_shared<>. Причем все заголовки подключены и код компилируется верно.
Подскажите если знаете, как можно это исправить? К примеру в приведенном тестовом коде - подчеркиваются обращения к указателям и создание указателей
#include<iostream>
#include<memory>
#include<string>
class A {
private:
std::string s;
public:
A(std::string _s) : s(_s) {
std::cout << "A -> Init\n";
}
~A() {
std::cout << "A -> Deinit\n";
}
void print() {
std::cout << s << "\n";
}
};
class Base {
public:
virtual ~Base() {
};
virtual void method() = 0;
};
class Derived : public Base {
private:
std::shared_ptr<A> a;
public:
Derived(std::shared_ptr<A> _a) : a(_a) {
std::cout << "Derived -> Init\n";
}
~Derived() {
std::cout << "Derived -> Deinit\n";
}
void method() override {
a->print();
std::cout << a << "\n";
}
};
class User {
private:
std::shared_ptr<Base> lp;
public:
User(std::shared_ptr<Base> _lp) : lp(_lp) {
std::cout << "User -> Init\n";
};
~User() {
std::cout << "User -> Deinit\n";
}
void do_test() {
lp->method();
}
};
User f() {
std::shared_ptr<A> a = std::make_shared<A>("MY String");
std::cout << "########################\n";
std::cout << a << "\n";
std::cout << "########################\n";
std::shared_ptr<Base> p = std::make_shared<Derived>(a);
User u(p);
return u;
};
int main() {
std::cout << "==================\n";
User usr = f();
std::cout << "==================\n";
std::cout << "########################\n";
usr.do_test();
std::cout << "########################\n";
return 0;
}