【发布时间】:2013-11-02 07:25:09
【问题描述】:
为什么 Visual Studio 编译器很满意
void fn(int *&i)
{
;
}
和
void fn(IUnknown *const &p)
{
;
}
但不是
void fn(IUnkown *&p)
{
;
}
称呼它的样子
IDXGIFactory *df = nullptr;
// init df
fn(df);
编译错误是
3 IntelliSense:无法使用“IDXGIFactory *”类型的值初始化“IUnknown *&”类型的引用(非 const 限定)c:\Users\Carl\Documents\Visual Studio 2013\Projects\Project1\项目5\main.cpp 29 10 项目5
我在研究中发现的最接近的事情是编译器一次只会进行一次类型转换,但这不可能是正确的,因为 const & 版本应该会中断类型和常量转换;但是实际上无法编译的是 & 版本。
【问题讨论】:
标签: c++ visual-c++ dxgi visual-c++-2013