尝试使用托管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
答案 0 :(得分:1)
错误是词法分析器不允许ndVec
为文字编号2
的后缀。您的意图似乎是编写标识符,而不是文字编号。但是,2ndVec
不是C ++ / CLI中的合法标识符。
合法标识符由字母,数字和下划线组成。它不能以数字开头。包含双下划线或以下划线开头,后跟大写的标识符 信是为实施保留的。