今天早些时候,我尝试编译类似于:
class example
{
public:
example(const char (&in_data)[6]);
};
example foo()
{
return "ABCDE";
}
在 GCC 上,它抱怨在返回线上没有转换为示例。我能够使用代码在其他地方初始化示例类型的对象,例如
example bar("ABCDE");
正好。在 VS2010 中编译时,所有这些都可以正常工作。
现在,我的问题是,这应该有效,还是这是一些 Visual Studio 编译器扩展?在我看来,由于非显式构造函数,这应该可以工作......
我现在没有确切的错误信息,因为我不在工作,但这真的让我很困扰。