代码之家  ›  专栏  ›  技术社区  ›  Robert Gould

boost::数组不是在vs 2005上编译的

  •  0
  • Robert Gould  · 技术社区  · 15 年前

    抱歉,这可能是一个愚蠢的问题,因为我在谷歌上根本找不到关于这个问题的任何信息。无论如何,我试图编译一些源代码,它将boost::array与Visual Studio 2005一起用作Win32控制台应用程序(而不是clr),但是出于某些原因,我仍然认为Visual Studio 数组 一个关键字,因此它会阻塞代码中的所有boost::array<gt;,并出现如下错误:

    Error   1   error C2039: 'array' : is not a member of 'boost'
    d:\projects\libraries\boost_1_36_0-1\boost_1_36_0\boost\asio\buffer.hpp 809
    

    我很肯定有一些非常愚蠢的事情,可能很明显我失踪了,因为世界上似乎没有人有这个问题(根据我发现的谷歌的结果)

    1 回复  |  直到 15 年前
        1
  •  1
  •   Vijay Mathew Chor-ming Lung    15 年前

    这个简单的程序在我的VC++2005中编译并运行良好:

    #include <iostream>
    #include <boost/array.hpp>
    
    int
    main()
    {
         const int size = 3;
         boost::array<double,size> myArray;
         myArray[0] = 23.43f;
         myArray[1] = 24.00f;
         myArray[2] = 23.50f;
         double sum = 0.0;
         for (size_t i = 0; i < myArray.size(); ++i) 
         {
             sum += myArray[i];
         }
         std::cout << "sum=" << sum << '\n';
         return 0;
    }
    

    你能发布一个失败的小代码片段吗?