で使用すると、文字列(または私が提供できるソリューションに応じてchar *)を反復処理する必要があります。その後、イテレータのregex_match()をC++プロジェクトの文字列であるC++
(私はif文の上coutの< < *それ< <」ENDLを置くことができますし、私は正しい出力を得る)イテレータがうまく機能
void Pile::evalExpress(char* expchar){
string express = expchar
regex number {"[+-*/]"};
for(string::iterator it = express.begin(); it!=express.end(); ++it){
if(regex_match(*it,number)){
cout<<*it<<endl;
}
}
}
char expchar[]="234*+";
Pile calcTest;
calcTest.evalExpress(expchar);
と:だから基本的に私はこれをやっています私がコンパイルしようとすると:
error: no matching function for call to 'regex_match(char&, std::__cxx11::regex&)'
if(regex_match(*it,number)){
^
を私はなぜこれが起こっている見当がつかない、)I [i]は、イテレータを使用してexpcharに直接反復していないことを試みたが、私はregex_match(と同じエラーを持っています。 ..
よろしく
ヴィンセント
を反復処理することができます。私はちょっと混乱していましたが、「文字」の中では...私は、文字が1つでもあっても、まだchar *ですが、実用的ではありません。 – Gozu09
これは、それが 'char'への参照であることを意味します。 [C++の良い本](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)を入手してください。 –