Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 对C+;中的队列使用交换方法时发生编译错误+;_C++_Linux_G++_Queue - Fatal编程技术网

C++ 对C+;中的队列使用交换方法时发生编译错误+;

C++ 对C+;中的队列使用交换方法时发生编译错误+;,c++,linux,g++,queue,C++,Linux,G++,Queue,编译以下代码时出现错误:“class std::queue”没有名为“swap”的成员 #include <iostream> // std::cout #include <queue> // std::queue int main () { std::queue<int> foo,bar; foo.push (10); foo.push(20); foo.push(30); bar.push (111); bar.

编译以下代码时出现
错误:“class std::queue”没有名为“swap”的成员

#include <iostream>       // std::cout
#include <queue>          // std::queue

int main ()
{
  std::queue<int> foo,bar;
  foo.push (10); foo.push(20); foo.push(30);
  bar.push (111); bar.push(222);

  foo.swap(bar);

  std::cout << "size of foo: " << foo.size() << '\n';
  std::cout << "size of bar: " << bar.size() << '\n';

  return 0;
}
#包括//std::cout
#include//std::queue
int main()
{
std::队列foo,bar;
foo.push(10);foo.push(20);foo.push(30);
杆推(111);杆推(222);
foo.swap(bar);
std::cout使用:

似乎从c++11开始,就有了std::queue::swap

g++4.6似乎不接受-std=c++11,因此必须升级编译器才能使用此方法

[编辑]

g++4.6接受-std=c++0x以启用c++11使用:

std::swap(foo, bar);
似乎从c++11开始,就有了std::queue::swap

g++4.6似乎不接受-std=c++11,因此必须升级编译器才能使用此方法

[编辑]


g++4.6接受-std=c++0x以启用c++11

那么您会得到什么错误?它对我来说工作正常。@juanchopanza:我收到错误:“类std::queue”没有名为“swap”的成员,现在它由std::swap(foo,bar)解决;好的,你需要C++11支持,所以用
-std=C++0x
编译。那么你会得到什么错误?它对我来说很好。@juanchopanza:我收到错误:“class std::queue”没有名为“swap”的成员,现在它由std::swap(foo,bar)解析;好的,你需要C++11支持,所以用
-std=C++0x
编译。