mih*_*kov -2 c++ parameters function named
我搜索了很多资源,在他们提供的示例中,它看起来像这样:
void bar(int a = 4, char b = 'A')
{
}
Run Code Online (Sandbox Code Playgroud)
根据这个资源, 它可以被称为:
bar(b : 'Z');
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误identifier "b" is undefined.我正在使用Visual Studio 2015 Update 3 Enterprise.
任何建议如何只指定第二个参数?
你链接的文件只是一个提案¹.您尝试使用的机制(当前)不是标准中定义的C++的一部分.因此,您不能指望编译器实现它.
目前还没有其他标准的解决方法.如果要设置某个参数,还需要在函数声明中提供其前面的所有参数.
您可以使用Boost参数之类的东西,或者自己实现类似的功能,以使用用户代码模拟该功能.这是否是一个好主意是辩论,它并不常见,因此可能会让其他程序员感到困惑.
¹这可能是一个语言问题:"提议"是某人所说的好事,而不是状态.