मेरे पास दो वर्ग, मेष और मेशलिस्ट हैं। मैं चाहता हूं कि मेशलिस्ट के पास ऐसा कार्य हो जो मेष के निजी सदस्यों को बदल सके। लेकिन यह संकलित नहीं होगा और मुझे नहीं पता क्यों। मेरा कोड यहाँ है।सी ++ मुझे दोस्त बनाने नहीं देगा
Mesh.h
#ifndef _MESH_H
#define _MESH_H
#include "MeshList.h"
#include <iostream>
class Mesh
{
private:
unsigned int vboHandle_;
friend void MeshList::UpdateVBOHandle();
public:
inline void Out() {std::cout << vboHandle_;}
};
#endif
Mesh.cpp
#include "Mesh.h"
MeshList.h
#ifndef _MESH_LIST_H
#define _MESH_LIST_H
#include "Mesh.h"
class MeshList
{
public:
Mesh *mesh; //Line 11 Error
void UpdateVBOHandle();
};
#endif
MeshList.cpp
#include "MeshList.h"
void MeshList::UpdateVBOHandle()
{
*mesh->vboHandle_ = 4;
}
मैं इन त्रुटियों को मिलता है:
MeshList.h (लाइन 11)
- त्रुटि C2143: सिंटेक्स त्रुटि: लापता ';' '*'
- त्रुटि C4430: गायब प्रकार विनिर्देशक - int माना जाता है। नोट: सी ++ समर्थन डिफ़ॉल्ट-int
त्रुटि C4430: गायब प्रकार विनिर्देशक - int माना जाता है। नोट: सी ++ नहीं समर्थन डिफ़ॉल्ट-पूर्णांक
mesh.h (11): त्रुटि C2653: 'MeshList': नहीं एक वर्ग या नाम स्थान नाम है
- meshlist.cpp (5): त्रुटि C2248 : 'जाल :: vboHandle_': उपयोग कर सकते हैं नहीं निजी सदस्य कक्षा में 'जाल'
- mesh.h घोषित (10): 'जाल :: vboHandle_'
- mesh.h की घोषणा को देखने के (8): घोषणा देखना 'मेष'
- meshlist.cpp (5): त्रुटि C2100: अवैध संकेत
आपको और अधिक जानकारी प्राप्त करने की आवश्यकता है। अकेले शीर्षक के लिए –
+1। –
शीर्षक के लिए '# शामिल" MeshList.h "' – chris