2017-06-16 49 views
-2

我是用JNI工作在Android和我試圖做這樣的事情:重新定義的typedef錯誤

foo.h中

class jobject; //error here! 

class Foo { 
void dowork(const jobject&); 
} 

Foo.cpp中

#include <jni.h> 
: 
: 
Foo::dowork(const jobject& obj) 
{ 
    //Do something 
} 

我看到this有類似的東西,但我的收費是我的不同情況。我沒有關於匿名結構的typedef,而是關於命名結構。如果我們看到文件jni.h

typedef _jobject*  jobject; 

here

class _jobject {}; 
+0

那麼,_exactly_你得到這個錯誤?我在這裏沒有看到任何'typedef'。 –

+3

'do'是一個關鍵字。這是否真的被編譯器接受? –

+0

你的錯誤是什麼? –

回答

0

你基本上是這樣做的:

typedef int* Foo; // typedefing Foo to int* 

class Foo   // attempt to declare a class with a name already used for typedef 
{ 
}; 
+0

所以當我無法修改JNI頭文件時,沒有辦法像我嘗試的那樣做一些事情? – Zoso