复制和移动构造函数将被忽略

时间:2016-07-07 14:38:58

标签: c++

我正在使用msvc 2013.我有以下代码:

#include <iostream>

struct A
{
   A(void)
   {
      std::cout << "A()" << std::endl;
   }
   A(const A& a)
   {
      std::cout << "A(const A&)" << std::endl;
   }
   A(A&& a)
   {
      std::cout << "A(A&&)" << std::endl;
   }
   static void foo(const A& a)
   {
      std::cout << "Foo" << std::endl;
   }
};

int main(void)
{
  A::foo(A(A()));
  int i = 0;
  std::cin >> i;
}

当我运行程序时,忽略了结构A的复制和移动构造函数。我真的不明白这个案子。输出为:&#34; A()Foo&#34;

0 个答案:

没有答案