2014-10-30 58 views
1

我對win32使用Gecko SDK 32.0.2。 我有這個代碼片斷中,應該工作:如何使用nsCOMPtr正確調用do_QueryInterface

nsCOMPtr<nsIDOMDocument> doc; 
dwi->GetDocument(getter_AddRefs(doc)); 
nsCOMPtr<nsIDOMDocumentXBL> xbl(do_QueryInterface(doc)); 

但是,編譯器說:

no instance of overloaded function 'do_QueryInterface' matches argument list nsCOMPtr<nsIDOMDocument> 

可用重載爲:

do_QueryInterface(nsISupports* rawPointer) 

do_QueryInterface(already_AddRefed<T>&) 

如何第在這種情況下粗略地進行函數調用?

+0

您可能對此問題有更好的運氣在http://ask.mozilla.org他們知道他們的mozilla內部在那裏大的時間。 – Noitidart 2014-10-31 01:38:31

+0

我已將它發佈到AMO。謝謝... – emirc 2014-10-31 08:36:02

+0

AMO實際上是http://addons.mozilla.org和http://ask.mozila.org簡稱爲ask.m.o :)我沒有看到你的帖子在ask.m.o – Noitidart 2014-10-31 08:51:48

回答

0

我會自我回答... 正如我在評論中寫的,我沒有在ask.m.o.上找到答案,但我找到了原因。 它直接與消息無關,這是由於VSC++項目屬性: 將WChar_t視爲內置類型應設置爲「是(/ Zc:wchar_t)」