我有一個類Sparse_Matrix,它允許我有效地使用稀疏矩陣。C++ MatLab構造函數重載
我想通過使用特定的(習慣)的關鍵字,例如上,身份等來實例化一個特定的矩陣
這是我的類聲明(命名空間矩陣)
template <typename T>
class Sparse_Matrix
{
private:
int rows;
int cols;
std::vector<int> col;
std::vector<int> row;
std::vector<T> value;
...
是否有獲得預初始化對象的方法?
Sparse_Matrix<int> = Eye(3);
將返回一個3乘3的單位矩陣。
我已經看過構造函數的成語,但那些需要一些與我的類不兼容的靜態類型的軟(儘管我願意接受建議)。
我自己也嘗試這樣的代碼:
template <typename T>
Sparse_Matrix<T> Eye(int size)
{
Sparse_Matrix<T> ma;
ma.IdentityMatrix(size);
std::cout << "Eye!" << std::endl;
return ma;
}
...
Sparse_Matrix<int> blah = Eye(10);
,但無濟於事。
謝謝
SunnyBoyNY
什麼 「但無濟於事。」具體是指? – JaredC
編譯器錯誤是:'沒有匹配的函數調用「Eye(int)」' – SunnyBoyNY