What is wrong?
1ns2.h:24: error: 'NameSpace1' has not been declared
//test_nmspc.cpp
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <iostream>
#include <cstdlib>
#include "1ns1.h"
using namespace std;
int main(int argc, char *argv[])
{
NameSpace1::Class1NS1 c1ns1;
cout << "Hello, world!" << endl;
return EXIT_SUCCESS;
}
//1ns1.h
#ifndef NAMESPACE11NS1_H
#define NAMESPACE11NS1_H
#include "1ns2.h"
namespace NameSpace1 {
/**
@author Kaplenko Vitaliy <dij@zm.kh.ua>
*/
class Class1NS1{
public:
Class1NS1();
~Class1NS1();
void method1(NameSpace2::Class1NS2& c1ns2);
};
class Class2NS1{
public:
Class2NS1();
~Class2NS1();
};
}
#endif
//1ns1.cpp
#include "1ns1.h"
namespace NameSpace1 {
Class1NS1::Class1NS1()
{
}
Class1NS1::~Class1NS1()
{
}
Class2NS1::Class2NS1()
{
}
Class2NS1::~Class2NS1()
{
}
}
/*!
\fn NameSpace1::Class1NS1::method1(NameSpace2::Class1NS2& c1ns2)
*/
void NameSpace1::Class1NS1::method1(NameSpace2::Class1NS2& c1ns2)
{
/// @todo implement me
}
//1ns2.h
#ifndef NAMESPACE21NS2_H
#define NAMESPACE21NS2_H
#include "1ns1.h"
namespace NameSpace2 {
/**
@author Kaplenko Vitaliy <dij@zm.kh.ua>
*/
class Class1NS2{
public:
Class1NS2();
~Class1NS2();
};
class Class2NS2{
public:
Class2NS2();
~Class2NS2();
void method1(NameSpace1::Class2NS1& c2ns1);
};
}
#endif
//1ns2.cpp
#include "1ns2.h"
namespace NameSpace2 {
Class1NS2::Class1NS2()
{
}
Class1NS2::~Class1NS2()
{
}
Class2NS2::Class2NS2()
{
}
Class2NS2::~Class2NS2()
{
}
}
/*!
\fn NameSpace2::Class2NS2::method1(NameSpace1::Class2NS1& c2ns1)
*/
void NameSpace2::Class2NS2::method1(NameSpace1::Class2NS1& c2ns1)
{
/// @todo implement me
}
1ns1, 1ns2, 2ns1, 2ns2? These are the worst names I've ever seen.
There's circular inclusion between 1ns1.h and 1ns2.h.
Last edited on
Thank you for your reply, Mr. Helios.