小编use*_*767的帖子

int 数字 -> 指针转换规则

考虑以下代码。

void f(double p) {}
void f(double* p) {}

int main()
{ f(1-1); return 0; }
Run Code Online (Sandbox Code Playgroud)

MSVC 2017 不编译。它认为存在一个不明确的重载调用,因为1-1与 相同0,因此可以转换为double*. 其他技巧,如0x00L、 或static_cast<int>(0),也不起作用。即使声明 aconst int Zero = 0并调用也会f(Zero)产生相同的错误。如果Zero不是,它只能正常工作const

看起来同样的问题适用于 GCC 5 及更低版本,但不适用于 GCC 6。我很好奇这是 C++ 标准的一部分、已知的 MSVC 错误还是编译器中的设置。粗略的谷歌没有产生结果。

c++ types visual-c++

19
推荐指数
1
解决办法
687
查看次数

什么是默认字体系列?

这返回null

DefaultFontFamily = Font.SystemFontOfSize(NamedSize.Default).FontFamily;
Run Code Online (Sandbox Code Playgroud)

还有这个:

DefaultFontFamily = new Label().FontFamily;
Run Code Online (Sandbox Code Playgroud)

正确的做法是什么?

xamarin xamarin.forms

3
推荐指数
1
解决办法
4818
查看次数

标签 统计

c++ ×1

types ×1

visual-c++ ×1

xamarin ×1

xamarin.forms ×1