У меня есть два файла: .cpp и .hpp-файл. В файле .hpp есть класс с именем Knoten и определения общественной функции:Функция вызова внутри другой функции
static void faerbe_algorithmus(bool jsp[5][5], std::list< std::list<int> > &liste_von_str_orth_spalten);
В файле .cpp я пытаюсь вызвать функцию в другой функции (compute_J), как это:
Knoten::faerbe_algorithmus(jsp, liste_von_str_orth_spalten);
, но я получаю следующее сообщение об ошибке с г ++:
In function `compute_J(double*, double (*) [5])':
11_3.cpp:(.text+0x3fc): undefined reference to `Knoten::faerbe_algorithmus(bool (*) [5], std::list<std::list<int, std::allocator<int> >, std::allocator<std::list<int, std::allocator<int> > > >&)'
collect2: error: ld returned 1 exit status
Что я делаю неправильно? При необходимости я могу разместить больше кода.
ли Knoten пространство имен? У вас есть «Knoten ::' в вашем .cpp, но в вашем заголовке есть только имя функции. – Brandon
Не уверен, почему вызов функции из другой функции - это то, на что вы фокусируетесь. Запрет статической инициализации - это метод _only_ для вызова функции. Проблема заключается в вашей _undefined reference_. –
@ KonradRudolph: Я предлагаю прочитать Meta-сообщение в часто задаваемых вопросах C++. –