急,急,高分求助。VC++ .NET 中 我用 DictionaryBase 为基类派生我的类在属性Item中的问题,
//.h文件
#pragma once
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;
__gc class DictionaryInheritor : public DictionaryBase
{
public:
DictionaryInheritor(void);
~DictionaryInheritor(void);
__property String * get_Item(String * key);
__property void set_Item(String * key, String * value);
};
//.cpp文件
#include "StdAfx.h"
#include "dictionaryinheritor.h"
DictionaryInheritor::DictionaryInheritor(void)
{
}
DictionaryInheritor::~DictionaryInheritor(void)
{
}
String * DictionaryInheritor::get_Item(String * key)
{
String * strResult = "hello!";
return strResult;
}
void DictionaryInheritor::set_Item(String * key, String * value)
{
}
输出错误:
error C3815: “DictionaryInheritor::get_Item”方法的返回类型必须与
“System::Collections::IDictionary::set_Item”最后一个参数的类型匹配
如果将get_Item的返回类型改为Object * set_Item 的最后一个参数改为Objiect,则可顺利通过编译。
why?????