[英]Swap Function Utilizing Pointers
因此,對於分配,我必須編寫一個模板函數,該函數將成功交換兩個任何類型的值。 我還必須驗證該函數也可以使用指針。 顯然,徹底的輸出將演示指針的交換,而不是指針所指向的值的交換。
我對如何開始有一個大致的了解,但對后言卻無所適從。
到目前為止,這就是我所擁有的。
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");
}
謝謝!
您的模板函數希望將指向T
指針作為參數。 您的密碼
int main()
{
swap(10, 20);
system("pause");
}
不使用指針而是整數字面值來調用它。 您應該用來調用函數的是
int main() {
int var1 = 42;
int var2 = 15;
int* pvar1 = &var1;
int* pvar2 = &var2;
swap(pvar1,pvar2);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.