Şu an için bir süredir Sözdizimi Hatası C2061'e bakıyorum ve bunun genellikle üstbilgi dosyalarının döngüsel bağımlılıklarından kaynaklandığını anladım. Ancak, dosyalarımda bunu çözmem gerektiğine inanıyorum, ancak bu konuya devam ediyorum.C++ Özel Üstbilgi Dosyası - Sözdizimi Hatası C2061: tanımlayıcı
Arc.h
#pragma once
#include <string>
using namespace std;
class Node;
class Arc
{
public:
Arc(Node &p_destination, const string &p_mode);
~Arc();
private:
string m_mode;
Node* m_destination;
};
Node.h
#pragma once
#include <string>
#include <vector>
using namespace std;
class Arc;
class Node
{
public:
Node(const string &p_name, const int &p_identifier, const float &p_latitude, const float &p_longitude);
~Node();
void set_arcs(Arc* p_arc) { m_arcs.push_back(p_arc); } //Line that causes the error
private:
std::vector<Arc*> m_arcs;
//Other Private Variables removed
};
başlık dosyaları, her iki ilgili CPP dosyaları dahil edilmiştir. Bu konuda herhangi bir yardım büyük takdir edilecektir!
Düzenleme:
"Syntax Error: identifier 'Arc'"
Arc'de 'Node' türünde bir üyeye sahip olabilirsiniz ve daha sonra' Node''da 'Arc' türünde bir üye var mı? – EdChum
([* Neden C++ 'da namespace std kullanıldığını kötü uygulama olarak değerlendiriyor? *] (Http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-in-c-considered-bad- uygulama)) – Biffen
@LoadData '.cpp' dosyasında' Node :: set_arcs' uygulamasının uygulanamaz mı? – Biffen