-2
我試圖更新一些我的代碼,並試圖包含make_shared
。C++ 11:'make_shared'不是'std'的成員
我創建了一個名爲Mail類發送電子郵件,現在我想將其包含:
auto m = std::make_shared<Mail>();
的問題是,我使用一個Makefile:
SHELL = /bin/sh
SYSTEM = $(shell uname)
C++ = g++
CC = gcc
DFLAGS = -DGHOST_MYSQL
OFLAGS = -O3
LFLAGS = -lmysqlclient_r -lboost_date_time -lboost_thread -lboost_system -lboost_filesystem -lgmp
CFLAGS = -std=c++0x
的編譯有這標誌還包括:
g++ -o mail.o -std=c++0x -O3 mail.cpp
但即時得到以下錯誤:
error: 'make_shared' is not a member of 'std'
auto m = std::make_shared<Mail>();
^
error: expected primary-expression before '>' token
auto m = std::make_shared<Mail>();
^
error: expected primary-expression before ')' token
auto m = std::make_shared<Mail>();
^
make: *** [ghost.o] Error 1
我在這裏犯了什麼錯誤?
1)什麼是你的編譯器的版本? 2)你有沒有'#包括'? –
2015-01-21 11:55:42