Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Хелп плз Ошибка с++ multiple definition. Код внутри.

Magzhan Kharasaev Знаток (411), на голосовании 14 лет назад
Дополнен 14 лет назад
#include <vector>

#ifndef _GEN_CPP
#define _GEN_CPP

namespace GEN_NS {

std::vector<int> &generate_vector(int size, int range) {
std::vector<int> * v = new std::vector<int>(size);
for (int i = 0; i < size; i++) {
(*v) = rand() % range;
}
return (*v);

}
}

#endif /*_GEN_CPP*/
Дополнен 14 лет назад
В чем дело, как он может несколько раз определять функцию generate_vector(int,int)?
ведь
#ifndef _GEN_CPP
#define _GEN_CPP
...
#endif
должно исключить это. Или я чего-то не понимаю...
Дополнен 14 лет назад
Вовчик, да функция дважды обозвана, но как так вышло?
Голосование за лучший ответ
Вован дэ'Морт Искусственный Интеллект (333477) 14 лет назад
мулти деф это у тебя или процедура повторно обозвана или переменная
Похожие вопросы