I got three files in one project
one is
namespace sql
{
namespace detail
{
void getColumnValue();
}
}
the other one is
namespace detail{
.........
}
the third one is
#include "first_file"
namespace sql
{
template<typename TheStruct>
class RowStruct {
public:
void shouldCombine()
{
sql::detail::getColumnValue();
}
}
those three files are both in the same projects and in the same outer namespace. but then I build ,I got an error to say ":sql::detail' has not been declared " for the third file.
why I just cannot refer to the "detail" in "sql", do I miss something? If I use "detail::" in stead of "sql::detail::" in third file then it will go the the detail:: declared in second file which is not something I want.
you have to include the first file (I assume that it's a header file) into the third file.
and, in the second file, don't you wanted to say?: