我在C++编写的小程序:堆栈与嵌套地图
#include <stack>
#include <map>
#include <string>
using namespace std ;
int main() {
stack< map<string,int> > st ;
map<string,int> ma ;
st.push(ma) ;
ma = st.pop() ; // error here
return 0 ;
}
但是,编译器显示错误:
no match for ‘operator=’ in ‘ma = st.std::stack<_Tp, _Sequence>::pop<std::map<std::basic_string<char>, int>, std::deque<std::map<std::
basic_string<char>, int>, std::allocator<std::map<std::basic_string<char>, int> > > >()’
有谁知道什么是错用此代码?
请确保您在发布此类问题之前已详细研究过图书馆参考资料。这是所有[*非常*有据可查](http://en.cppreference.com/w/cpp/container/stack/pop)。 –
对不起,我应该删除这个问题吗? –
由你决定。它肯定有很多重复的东西,并且问题标题对其他人来说不太可能有帮助。 –