新しいオブジェクトへの新しいポインタを作成し、直ちにデキューにpush_frontを作成します。代わりにemplace_frontを使用したいが、コンパイルエラーが出ている。Deque emplace_back新しいオブジェクトへのポインタ
Myオブジェクトのコンストラクタには、1つの文字列引数が必要です。他のウェブサイトからの参照後
std::deque<NetPacket*> q_IncomingPackets;
q_IncomingPackets.push_back(new NetPacket(std::string(uncompressed_data, retVal))));
q_IncomingPackets.emplace_back(std::string(uncompressed_data, retVal));
私は単にemplace_back
ためpush_back
を交換しますが、次のエラーが出ると考えていた:
Error C2440 'initializing': cannot convert from 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' to 'PeerNet::NetPacket *' PeerNet \vc\include\xmemory0 737
参照がオブジェクトに新しいポインタを作成するときに据え付ける使用について話していません、具体的なオブジェクトだけです。 cppreference.comcplusplus.com