Как передать функцию с переменной в качестве аргументаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как передать функцию с переменной в качестве аргумента

Сообщение Anonymous »

Код: Выделить всё

#include 
#include 
#include 
using namespace std;

struct demo_struct {
string x;
int y;
int z;
};

bool compare_func(demo_struct a, demo_struct b, int selector) {
switch(selector){
case(0):
return a.x < b.x;
case(1):
return a.y < b.y;
case(2):
return a.z < b.z;
}
return false;
}

int main() {
vector demo_vector;
demo_vector.push_back({"charlie",22, 10});
demo_vector.push_back({"alpha",  11, 1000});
demo_vector.push_back({"delta",  33, 100});
demo_vector.push_back({"bravo",  00, 1});

int selector = 0;
sort(demo_vector.begin(), demo_vector.end(), compare_func);

for (auto& item : demo_vector) {
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79866970/how-do-i-pass-a-function-with-variable-as-an-argument[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»