我正在将Gecko SDK 32.0.2用于win32。
我有以下代码片段,应该可以正常工作:

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>&)


在这种情况下如何正确进行函数调用?

最佳答案

我会自行回答...
正如我在评论中所写的那样,ask.m.o。没有任何答案,但我找到了原因。
它与消息没有直接关系,这是由于VSC ++项目属性:
将WChar_t视为内置类型应设置为“是(/ Zc:wchar_t)”

关于c++ - 如何使用nsCOMPtr正确调用do_QueryInterface,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26664663/

10-11 22:47