@li_0_li

Как убрать ненужную функцию?

мне нужно использовать функцию min из библиотеки <algorithm> , но она также есть в <windows.h>. Когда пишу с #define не работает. Не понимаю, что не так делаю. Проблема в строке 2 функции cross.
Код:
#define NOMINMAX
#include <windows.h>


#include <iostream>
#include<vector>
#include <unordered_map>
#include <algorithm>

std::vector<int> cross(const std::vector<int>& a, const std::vector<int>& b)
{
	std::vector<int> result;
	result.reserve(std::min(a, size(), b.size()));
	std::unordered_map<decltype(result)::value_type, decltype(result)::size_type> tmp_map;

	//и тд
	}
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
С такими костылями тебе проще свою функцию min написать.

С макропроцессором - у тебя просто растет цикломатическая сложность самого процесса компилляции. Вот у тебя щас 2 кейса. Есть мин или нет. А потом будет больше кейсов. И потом другой программист, читающий твой код захочет тебя убить :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы