xcode中的模板类错误

时间:2012-10-21 06:01:21

标签: c++ xcode macos boost

据我所知这已被问过百万次,但我仍然无法找到解决方案。

我正在使用OSX 10.8,提升1.50,xcode 4.5.1。

  • 我使用macports安装了boost。
  • 创建了一个空的xcode项目。我的main.cpp包含以下代码

    #include "boost/container/deque.hpp"
    int main(int argc, char *argv[])
    {
        boost::container::deque d(12, 5.5f);
        return 0;
    }

  • 更新了“标题搜索路径”以指向“/ opt / local / include”
  • 更新了“图书馆搜索路径”以指向'/ opt / local / lib'
  • 尝试更改“c ++语言方言”,“c ++标准库”和其他设置,但都没有成功。

当我构建项目时,我在allocator_traits.hpp和deque.hpp中得到与语义问题相关的错误,我不明白为什么。我担心当我开始使用更多的boost库时会弹出更多的错误。

deque.hpp(第482和483行)
base说明符必须是类名(ptr_alloc_t和allocator_type)

我还需要做什么来配置boost。为什么使用提升是如此复杂?

1 个答案:

答案 0 :(得分:2)

boost::container::deque是模板类,您必须指定使用哪种类型。在您的情况下,这是float

boost::container::deque<float> d(12, 5.5f);

您可以阅读有关模板here

的更多信息