2012-01-30 3 views
1

Я искал здесь и в интернете, и никто, кажется, не сталкивался с подобной проблемой, и я не могу понять, почему я не могу заставить это работать.Ошибка C2143: missing ';' до '->'

Линия, которая мешает мне компиляции является:

LitCiterCommon::LitCiterTrace->Init(); 

Если я позвоню LitCiterTrace.Init() из другого файла (с #) он компилируется нормально, но по некоторым причинам я не могу назвать это из управляемого CPP.

Любые идеи или предложения?

+1

Вы пробовали с помощью :: вместо ->? – kennytm

+1

'Init', вероятно, является статической функцией. Вы должны назвать это следующим: 'LitCiterCommon :: LitCiterTrace :: Init();' –

ответ

5

Если Init является static method then it would not be any different than in C++:

// this is no different than calling a static member method in C++ 
LitCiterCommon::LitCiterTrace::Init(); 
+1

Ха-ха, я даже не заметил, что мой партнер изменил его на статический метод, пока меня не было ... Мне действительно нужно остановиться снимая отпуск с этой кодовой базы. Еще раз спасибо за то, что поймал мою глупость. – doyler