带有List <t>错误后缀的托管Vector类,编号为</t>

时间:2013-08-03 20:31:12

标签: list c++-cli operator-overloading command-line-interface

尝试使用托管C ++ \ CLI列表创建基本的vetor类。我是新来的,所以要温柔; - )

Heade文件MyVec.h

#pragma once

using namespace System::Collections::Generic;

ref class MyVec
{
private:
    List<double>^ MyVector;

public:
    MyVec(void);

    property List<double>^ myVector
    {
        List<double>^ get();
        void set(List<double>^ MyVector);
    }

    MyVec^ operator+(MyVec^ 2ndVec);

};

这里我得到一个“数字上的错误后缀”,我尝试重载+以添加两个向量。

CPP文件MyVec.CPP:

#include "StdAfx.h"
#include "MyVec.h"

List<double>^ MyVec::myVector::get()
{
    return MyVector;
}
void MyVec::myVector::set(List<double>^ myVector)
{
    this->MyVector = myVector; 
}
MyVec^ operator+(MyVec^ 2ndVec)
{
    MyVec^ SumVec = gcnew MyVec();
    if 2ndVec->Count == this->Count
    {
        for (int i = 0; i < this->Count; i++)
        {
            SumVec[i] = this[i] + 2ndVec[i];
            return SumVec;
        }
    }
}
MyVec::MyVec(void)

重载怎么回事?

谢谢,Jan

1 个答案:

答案 0 :(得分:1)

错误是词法分析器不允许ndVec为文字编号2的后缀。您的意图似乎是编写标识符,而不是文字编号。但是,2ndVec不是C ++ / CLI中的合法标识符。

合法标识符由字母,数字和下划线组成。它不能以数字开头。包含双下划线或以下划线开头,后跟大写的标识符 信是为实施保留的。