Так что я пытаюсь использовать std::any_of()
функцию, но C++ Builder 6 говорит, что есть ошибка:E2316 «any_of» не является членом «Std»
[C++ Error] Unit1.cpp(93): E2316 'any_of' is not a member of 'std'
Но я #include <algorithm>
в моем Unit1.h
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <set>
#include <algorithm> // std::set_union, std::sort, etc
#include <vector> // std::vector
#include <math.h>
//--------------------------------------------------------------------------
Мой unit1.cpp:
void __fastcall TForm1::Button7Click(TObject *Sender)
{
int el = StrToInt(LabeledEdit1->Text);
if (std::any_of(A.begin(), A.end(), (*MyIteratorA==el))){
ShowMessage("true");
}else{
ShowMessage("false");
}
}
Это странно, потому что я использую такие е как std::set_union()
, std::set_intersection()
, std::set_difference()
в той же программе и все работало нормально до std::any_of
.
Извините за плохой английский.
any_of is C++ 11 (и новее) вы скомпилировали с включенным C++ 11? (что-то вроде -std = C++ 11 или подобное) – Borgleader
Боковое примечание: «__fastcall» выглядит древним –
@ DieterLücking: соглашение о вызове Borland '__fastcall' совместимо с соглашением о вызове Delphi' register', которое, конечно же, не является «древним», , Возможно, вы думаете о '' __fastcall'' (который является '__msfastcall' в Borland). –