/******header file*****/
namespace graph{
void dfs(...);
};
/******cpp file******/
#include "graph.h"
using namespace graph;
void dfs(...){
//some code here
//dfs(...); <-- wrong
//graph::dfs(...); <-- it was fine,until i call the function from main.cpp
}
Когда я определяю рекурсивную функцию в файле реализации, это дает мне ошибку в строке рекурсивного вызова. Если я изменю его на «graph :: dfs (...)», это не даст мне ошибки, но если я вызову функцию из main.cpp, это все равно даст мне ошибку. Если я не использую «используя граф пространства имен» и называю их «graph :: dfs», это не дает мне ошибки. Но почему?