Приложение qt и std :: shared_ptr - PullRequest
       19

Приложение qt и std :: shared_ptr

0 голосов
/ 06 марта 2012

Я хочу создать приложение qt (используя qt-creator), использующее мою библиотеку, которое было собрано в VS2010.Библиотека содержит класс, который использует std :: shred_ptr <>

#include <memory>
struct MyStruct;

class MyClass
{
    public:
    MyClass::MyClass();

    protected:
    std::shared_ptr<MyStruct> mMember;
}

Затем я включаю библиотеку в приложение, используя Это руководство .И получает следующие ошибки:

ISO C++ forbids declaration of 'shared_ptr' with no type
invalid use of '::'
expected ';' before '<' token

Есть способ решить эту проблему?

* PS * Был исправлен код (добавлено включение и класс параметров shared_ptr).Но это уже было в оригинальном коде.Я думаю, проблема в компиляторе qt-creator.Но я точно не знаю, потому что я довольно новичок в программировании на qt.

Ответы [ 3 ]

3 голосов
/ 09 марта 2012

Убедитесь, что вы используете флаг C ++ 11 для компилятора.Например, в вашем .pro -файле:

QMAKE_CXXFLAGS += -std=c++0x
0 голосов
/ 06 марта 2012

Включите <memory> перед определением класса. Также убедитесь, что объявлено MyClass2.

0 голосов
/ 06 марта 2012

Нет определения MyClass2 в коде, которым вы поделились.

Я полагаю, вы пытались сделать std::shared_ptr<MyClass> mMember;

...