【发布时间】:2017-11-02 04:09:43
【问题描述】:
因此,对于分配,我必须编写一个模板函数,该函数将成功交换任何类型的两个值。我还必须验证该函数也可以使用指针。显然,彻底的输出将展示指针的交换,但不会交换它们指向的值。
我对如何开始有了大致的了解,但不知道该去哪里。
这是我目前所拥有的。
template <typename T>
void swap(T*& first, T*& second)
{
T* a = nullptr;
a = first;
first = second;
second = a;
std::cout << first << " " << second << " ";
}
我有函数原型,但不知道从这里做什么,关于如何调用这个函数以及它是否真的会为我提供所需的输出的任何建议?
这是我的主要内容
int main()
{
swap(10, 20);
system("pause");
}
谢谢!
【问题讨论】:
-
你是在问如何调用你的指针交换函数?
-
@user0042 那,如果这个逻辑对分配真的有效
-
你试过一些代码来调用它吗?你的具体问题是什么?模板函数的逻辑看起来是正确的。
-
@user0042 是的,我不确定如何调用使用泛型的函数。我发布了我的主要外观。
-
你的函数想要指向
T的指针,所以用指针而不是字面值来调用它。
标签: c++ templates pointers generics swap