编译器错误 C3470

“type”:类不能同时具有索引器(默认索引属性)和运算符 []

类型不能定义默认索引器和运算符 []。

示例

以下示例生成 C3470

// C3470.cpp
// compile with: /clr
using namespace System;

ref class R {
public:
   property int default[int] {
      int get(int i) {
         return i+1;
      }
   }

   int operator[](String^ s) { return Convert::ToInt32(s); }   // C3470
};

int main() {
   R ^ r = gcnew R;
   // return r[9] + r["32"] - 42;
}