template<typename T>
char* MAT<T>::print(char* s) const noexcept {
for (int i = 0; i < this->r; i++) {
for (int j = 0; j < this->c; j++) {
s += sprintf(s, "%6ld", this->e[i * this->c + j]);
if (j + 1 != this->c) s += sprintf(s, "%c", ' ');
else s += sprintf(s, "%c", '\n');
}
}
s -= 1;
s += sprintf(s, "%c", '\0');
return s;
}
这是一个矩阵模板类用于打印矩阵元素的函数,关于中间sprintf的部分我应该怎么修改才能保证对于随着T而改变的元素类型都能完美打印出来呢?比如T分别为int和double时,当前这个print函数就不能打印double元素