gpt4 book ai didi

C++ - 默认参数不能添加到类模板成员的外联定义中

转载 作者:可可西里 更新时间:2023-11-01 03:26:12 26 4
gpt4 key购买 nike

我有一个 iOS 应用程序,它使用 MPL 中名为“square.h”的 C++ 类,每当我构建该应用程序时,Xcode 都会抛出此错误 -

不能将默认参数添加到类模板成员的外联定义中

现在,我对C++语法的了解很少,那么这个错误是什么意思呢?

有问题的行在下面 -

template <class T> 
TSquare<T>::TSquare (T size_, T x_, T y_, T scale_=0)
{
size = size_;
x = x_;
y = y_;
scale = scale_;
}

最佳答案

默认参数不是定义的一部分,只是声明:

template <class T>
class TSquare
{
public:
TSquare (T size_, T x_, T y_, T scale_ = 0);
};

// out-of-line definition of a member of a class template:
template <class T>
TSquare<T>::TSquare (T size_, T x_, T y_, T scale_ /* = 0 */)
{

}

或:

template <class T>
class TSquare
{
public:
// in-line definition of a member of a class template
TSquare (T size_, T x_, T y_, T scale_ = 0)
{

}
};

关于C++ - 默认参数不能添加到类模板成员的外联定义中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25647199/

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