如何创建List <custom object =“”> </custom>

时间:2013-06-13 12:05:07

标签: c++-cli

我有一个C ++ / Cli项目和原生混合项目。我创建了一个自定义对象,我想创建一个该对象类型的列表似乎不行。这是代码:

  #pragma once
#include <windows.h>
#include <stdio.h>
#include "..\..\Toolkit\Include\TypeHelper_h.h"
using namespace System;
using namespace System::Runtime::InteropServices; 
using namespace System::Threading;
using namespace System::Collections::Generic;

namespace TypeHelperControl {

public ref class MyClass
{
public:
    MyClass(){List<TypeVariable^>^ m_someObj;};
    ~MyClass();

private:

};


 public ref class TypeVariable 
 {
 public:

     TypeVariable(String^ VariableName,String^ VariableType,String^ VariableValue)
     {
      this->m_Name = VariableName;
      this->m_Type = VariableType;
      this->m_Value = VariableValue;
     };
     String^ get_Name()
     { 
         return m_Name;
     }
     String^ get_Type()
     {
         return m_Type;
     }
     String^ get_Value()
     {
         return m_Value;
     }
 private:
     String^ m_Name;
     String^ m_Type;
     String^ m_Value;
 };

};

列表^ m_someObj;正在产生多个错误

error C2059: syntax error : '>' 
error C2065: 'VariableType' : undeclared identifier
error C1004: unexpected end-of-file found

谢谢

2 个答案:

答案 0 :(得分:1)

error C2065: 'VariableType' : undeclared identifier

我认为这个错误是因为在文件的这一点上,编译器还没有看到类TypeVariable。我建议将您的类重新组织成单独的头文件,并将#including恰当地组合在一起,但是快速&amp;肮脏的解决方案是将public ref class TypeVariable;前向声明贴在MyClass的定义之上。

error C2059: syntax error : '>' 
error C1004: unexpected end-of-file found

解决上述错误后,这些错误应该消失。

答案 1 :(得分:1)

您必须在首次使用之前定义“TypeVariable”:

public ref class TypeVariable 
{

};

public ref class MyClass
{
public:
    MyClass()
    {
        List<TypeVariable^>^ m_someObj;
    }
};