gpt4 book ai didi

c++ - Xcode 9 开始在 C++ 中构建部分模板特化

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:16 25 4
gpt4 key购买 nike

我将我的 Xcode 更新到版本 9,然后着手构建我的包含 Tensorflow 框架的应用程序。好像是下面的代码:

#ifndef Header_h
#define Header_h
template<class T1, class T2, int I> class A {}; // primary template

template<class T1, int I, class T2> class A<T1, T2, I> {}; //error
#endif /* Header_h */

将被 Xcode 9 拒绝并显示错误消息“部分模板特化并不比主模板更特化”。但在 Xcode 8.3.3 和 visual studio 中,它很好。

这是原始的 Tensorflow 代码:(TensorStorage.h)

template<typename T, typename Dimensions, int Options_> class TensorStorage;


// Pure fixed-size storage
template<typename T, int Options_, typename FixedDimensions>
class TensorStorage<T, FixedDimensions, Options_>
{
//implementation
};

// pure dynamic
template<typename T, int Options_, typename IndexType, int NumIndices_>
class TensorStorage<T, DSizes<IndexType, NumIndices_>, Options_>
{
//implementation
};

谢谢

最佳答案

这给了我另一个错误信息。我找到了另一个同样有效的解决方案:

我更改了 TensorStorage.h 中的第 34 行

template<typename T, typename Dimensions, int Options_> class TensorStorage;

template<typename T, typename Dimensions, int Options_, typename empty = void> class TensorStorage;

关于c++ - Xcode 9 开始在 C++ 中构建部分模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46356153/

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