下面的片段是在頭文件:這個簡單的C++模板類有什麼問題?
// Represents NxN scalar values (aka square matrix).
template<std::size_t N>
class dummy
{
public:
float& operator[](const std::size_t ind) { return scalars[ind]; }
private:
float scalars[N*N];
};
using dummy2 = dummy<2>;
這是我會怎麼使用它:
// 2x2=4 floats
dummy2 d;
std::cout << d[0] << std::endl; // prints 0
std::cout << d[1] << std::endl; // prints 0
std::cout << d[2] << std::endl; // prints -1.42253e+19
std::cout << d[3] << std::endl; // prints 4.59163e-41
我的問題是,爲什麼不過去的兩個打印調用導致零值?
你有初始化標量嗎? – billz