我正在尝试在 c++ 中使用正则表达式来确定字符串是否仅包含二进制(1/0)。我在java中使用 .matches("[01]+") 非常简单地做到了这一点。但是现在当我尝试转换为 c++ 时,我遇到了问题
我正在使用 Visual Studio 2010 并收到此错误
错误:没有重载函数“regex_match”的实例与参数列表匹配
这是我的代码
#include <iostream>
#include <string>
#include <regex>
using namespace std;
// ...
string bFU;
do
{
cout << "\nEnter a binary value containing up to 16 digits: ";
getline (cin, bFU);
if (!regex_match(bFU, "[01]+") || bFU.length()>16)
{
cout << "\nError: Invalid binary value.\nTry again.\n"
"Press Enter to continue ... ";
bFU = "a";
cin.ignore(80, '\n');
}
} while (!regex_match(bFU, "[01]+"));
在 Visual Studio 中,当我将鼠标悬停在带有红色下划线的 regex_match 上时,我会收到该错误
感谢您的帮助,我一直在谷歌搜索和整理几十个网站,这让问题变得更加模糊