不能用C++中的对象push_front()标准库列表

Jua*_*esa 0 c++ stdlist

我有一个类,我想使用标准库列表来存储它们的列表.我基本上想要push_front()列表.所以我的代码是这样的:

#include <list>
/* ... lots of stuff ...*/

complexNode myObject();

std::list<complexNode> complexList();

myList.push_front(myObject);
Run Code Online (Sandbox Code Playgroud)

但编译器抛出此错误:

错误:请求'complexList'中的成员'push_front',它是非类型的类型'std :: list <complexNode,std :: allocator <complexNode >>>()()'

complex complexNode类有一个复制构造函数.

我真的不明白这个问题,这个错误究竟意味着什么......请帮助!

Max*_*Max 6

std::list<complexNode> complexList();
Run Code Online (Sandbox Code Playgroud)

不应该这样:

std::list<complexNode> complexList; // without the () 
Run Code Online (Sandbox Code Playgroud)

  • 是的,使用empty()它被解释为函数声明(!),即使它在本地范围内. (2认同)