gpt4 book ai didi

c++ - 命名空间 boost::detail 中没有名为 'dynamic_cast_tag' 的成员 (SALOME 7.3.0)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:49 25 4
gpt4 key购买 nike

我正在尝试在 OSX Mavericks (Darwin 13.0.0) 上编译 SALOME 7.3.0 并安装了 boost 1.55(使用自制软件)。当尝试定义模板函数时,GCC 在 SALOME (SRC/DF) 的工具包函数之一上阻塞,错误是:

    In file included from /Users/dingram/Developer/SALOME/KERNEL_SRC_7.3.0/src/DF/DF_Attribute.cxx:20:
/Users/dingram/Developer/SALOME/KERNEL_SRC_7.3.0/src/DF/DF_definitions.hxx:50:44: error: no member named 'dynamic_cast_tag' in namespace
'boost::detail'
boost::shared_ptr<T>(r,boost::detail::dynamic_cast_tag())
^

代码片段是

#include <iostream>
#include <stdio.h>
#include <boost/shared_ptr.hpp>

template<class T> class df_shared_ptr: public boost::shared_ptr<T>
{
public:
df_shared_ptr() {}

template<class Y>
explicit df_shared_ptr(Y * p)
{
boost::shared_ptr<T>::reset(p);
}

template<class Y>
df_shared_ptr(df_shared_ptr<Y> const & r):
boost::shared_ptr<T>(r,boost::detail::dynamic_cast_tag())
{}

我不是 C++ 程序员,所以有点受阻。 SALOME 论坛上有类似问题的报告,但没有回复。

最佳答案

最近对 boost 库的更改取消了 boost::detail::dynamic_cast_tag() 以支持动态转换的新机制。这方面的文档很少甚至不存在。

你应该能够使用较旧的 boost 来构建,我认为 1.44 应该足够了。

关于c++ - 命名空间 boost::detail 中没有名为 'dynamic_cast_tag' 的成员 (SALOME 7.3.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20933037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com