文字列にバイナリ (1/0) のみが含まれているかどうかを判断するために、C++ で正規表現を使用しようとしています。私は .matches("[01]+") を使用してJavaでこれを非常に簡単に行いました。しかし、今私が 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 にマウスを合わせると、そのエラーが発生します。
助けてくれてありがとう、私は何十ものウェブサイトをグーグルで検索して分類してきましたが、問題がさらに曖昧になっています