[問題] 關於 template
看板C_and_CPP (C/C++)作者LoveCheer (La new今年總冠軍)時間16年前 (2009/11/16 14:05)推噓4(4推 0噓 12→)留言16則, 4人參與討論串1/1
遇到的問題: (題意請描述清楚)
我分別寫了一維與二維矩陣的template,
可以依使用者產生不同大小與型別(int or double...)
最近想在二維矩陣中加入一個function,
其目的是從這二維矩陣中任意選擇其中一個column並回傳給一維矩陣。
希望得到的正確結果:
回傳出自訂的一維矩陣(template)
程式跑出來的錯誤結果:
編譯能過,但執行不能(會當掉)。
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
VC++ 6.0
有問題的code: (請善用置底文標色功能)
宣告:
template<typename T>
class CArray1D
{
public:
T* m_Array;
int m_ArraySize;
CArray1D(){m_Array = NULL;};
CArray1D(int);
creat(int);
destroy();
virtual ~CArray1D();
T& operator[](int);
};
template<typename T>
class CArray2D
{
public:
T** m_Array;
T* m_Data;
int m_ArrayXSize;
int m_ArrayYSize;
CArray2D(){m_Data = NULL;};
CArray2D(int, int);
creat(int, int);
destroy();
CArray1D<T> getColumn(int ColNum);
virtual ~CArray2D();
T* operator[](int);
};
======================================================================
定義:
template<typename T>
CArray1D<T> CArray2D<T>::getColumn(int ColNum){
CArray1D<T> tmp(m_ArrayXSize);
for (int i = 0; i < m_ArrayXSize; i++)
tmp[i] = m_Array[i][ColNum];
return tmp;
}
======================================================================
補充說明:
整理一下我目前的問題,
就是我不知道如何回傳一個同為自行定義的template--
CArray1D<T>的型態。
懇請各位先進能撥空給予指點,謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.71.9
推
11/16 14:19, , 1F
11/16 14:19, 1F
→
11/16 14:20, , 2F
11/16 14:20, 2F
→
11/16 14:20, , 3F
11/16 14:20, 3F
→
11/16 14:20, , 4F
11/16 14:20, 4F
推
11/16 14:23, , 5F
11/16 14:23, 5F
→
11/16 14:28, , 6F
11/16 14:28, 6F
→
11/16 14:28, , 7F
11/16 14:28, 7F
推
11/16 14:52, , 8F
11/16 14:52, 8F
→
11/16 14:52, , 9F
11/16 14:52, 9F
→
11/16 15:53, , 10F
11/16 15:53, 10F
→
11/16 15:54, , 11F
11/16 15:54, 11F
→
11/16 16:00, , 12F
11/16 16:00, 12F
→
11/16 16:08, , 13F
11/16 16:08, 13F
→
11/16 16:08, , 14F
11/16 16:08, 14F
推
11/16 18:54, , 15F
11/16 18:54, 15F
→
11/16 18:55, , 16F
11/16 18:55, 16F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章