1

我有一个 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; 正在产生多个错误

错误 C2059:语法错误:'>'
错误 C2065:“VariableType”:未声明的标识符
错误 C1004:发现意外的文件结尾

谢谢

4

2 回答 2

1
错误 C2065:“VariableType”:未声明的标识符

我相信这个错误是因为在文件中的这一点,编译器还没有看到这个类TypeVariable。我建议将你的类重新组织成单独的头文件,并适当地#include 它们,但快速而肮脏的解决方案是public ref class TypeVariable;MyClass.

错误 C2059:语法错误:'>'
错误 C1004:发现意外的文件结尾

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

于 2013-06-13T16:56:03.033 回答
1

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

public ref class TypeVariable 
{

};

public ref class MyClass
{
public:
    MyClass()
    {
        List<TypeVariable^>^ m_someObj;
    }
};
于 2013-06-13T16:56:16.673 回答