C++写入访问权限冲突,this->v是oxCDDDCDDE

#include <iostream>

using namespace std;

const int size = 3;

template <class T>
class vector
{
    T *v; //类型T
public:
    vector()
    {
        v = new T[size];  //创建空的向量
        for (int i = 0; i < size; i++)
        {
            v[i] = 0;
        }
    }
    vector(T *a)  //利用数组创建新的向量
    {
        for (int i = 0; i < size; i++)
        {
            v[i] = a[i];
        }
    }
    T operator * (vector &y)
    {
        T sum = 0;
        for (int i = 0; i < size; i++)
        {
            sum += this->v[i] * y.v[i];
        }
        return sum;
    }
};

int main()
{
    int x[3] = {1, 2, 3};
    int y[3] = {4, 5, 6};
    vector<int> v1;
    vector<int> v2;
    v1 = x;
    v2 = y;
    int R = v1 * v2;
    cout << "R=" << R << "\n";
    return 0; 
}

img

有参构造函数中没有new V数组

 vector(T *a)  //利用数组创建新的向量
    {
    v = new T[size];  //创建空的向量
        for (int i = 0; i < size; i++)
        {
            v[i] = a[i];
        }
    }