嘿我無法弄清楚如何讓我的模板頭工作。我必須讓我的init構造函數接受一個數組並將其逆轉。因此,舉例來說,如果我有[1,2,3,4]它需要它[4,3,2,1]模板初始化構造函數錯誤
這是我的模板類:
#pragma once
#include <iostream>
using namespace std;
template<typename DATA_TYPE>
class Reverser
{
private:
// Not sure to make this DATA_TYPE* or just DATA_TYPE
DATA_TYPE Data;
public:
// Init constructor
Reverser(const DATA_TYPE& input, const int & size)
{
// This is where I'm getting my error saying it's a conversion error (int* = int), not sure
// What to make Data then in the private section.
Data = new DATA_TYPE[size];
for(int i=size-1; i>=0; i--)
Data[(size-1)-i] = input[i];
}
DATA_TYPE GetReverse(){
return Data;
}
~Reverser(){
delete[] Data;
}
};
所以如果你能告訴我我做錯了什麼,那會很棒。
誒給我一個秒 – wzsun
用法:INT * ARR =新INT [4]; Reverser r(arr,4); –
好的,是的,我錯誤地啓動它,但是當我試圖檢索使用GetReverse()的數據時,我認爲它應該是一個int * result = new int [10]; result = reverseData.GetReverse();然而,我得到的轉換錯誤int int * – wzsun