VC2019:编译器错误、std::pair 错误或晦涩的功能

问题描述

下面的代码使应用程序崩溃或打印出乱码。如果基类的初始化被替换为 str_int{ string{V},0} 那么它工作正常。似乎可以与一些在线编译器配合使用。

#include <iostream>
#include <utility>

using namespace std;

using str_int = pair<string,int>;

template< const char* V > 
struct C : public str_int
{
  C() : str_int{ V,0} {}
};

constexpr const char str[] = "abc";

int main()
{
  // works fine
  str_int si{str,0};
  cout << si.first;

  // crashes the application or prints gibberish
  C<str> c;
  cout << c.first;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)