컴파일러 오류 C2107
인덱스가 잘못되었습니다. 간접 참조를 사용할 수 없습니다.
아래 첨자는 포인터로 계산되지 않는 식에 적용됩니다.
예시
값 형식의 포인터를 잘못 사용하여 this
형식의 기본 인덱서에 액세스하는 경우 C2107이 발생할 수 있습니다. 자세한 내용은 포인터의 의미 체계를 this
참조하세요.
다음 샘플에서는 C2107을 생성합니다.
// C2107.cpp
// compile with: /clr
using namespace System;
value struct B {
property String ^ default[String ^] {
String ^ get(String ^ data) {
return "abc";
}
}
void Test() {
Console::WriteLine("{0}", this["aa"]); // C2107
Console::WriteLine("{0}", this->default["aa"]); // OK
}
};
int main() {
B ^ myb = gcnew B();
myb->Test();
}