我正在为 win32 使用 Gecko SDK 32.0.2。 我有这段代码,它应该可以工作:
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++ 项目属性: Treat WChar_t as Built in Type 应该设置为“Yes (/Zc:wchar_t)”
关于c++ - 如何使用 nsCOMPtr 正确调用 do_QueryInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26664663/