-
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]
1768316004
Anonymous
[code]#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]