C++ में फ़ाइलों के बीच वेरिएबल साझा करने के लिए extern का उपयोग कैसे करें?
नमस्ते! मैं एक शुरुआती C++ डेवलपर हूँ और मुझे एक समस्या का सामना करना पड़ा: मेरे पास एक प्रोजेक्ट है जिसमें कई फ़ाइलें हैं, और मुझे विभिन्न .cpp फ़ाइलों में एक सामान्य वेरिएबल का उपयोग करने की आवश्यकता है। मैंने एक फ़ाइल में वेरिएबल घोषित करने और दूसरी में उसका उपयोग करने का प्रयास किया, लेकिन कंपाइलर "undefined reference" या "multiple definition" त्रुटि देता है।
यहाँ एक सरल उदाहरण है: मेरे पास फ़ाइल `main.cpp` है:
```cpp
#include
#include "functions.h"
int main() {
global_var = 5;
print_var();
return 0;
}
```
फ़ाइल `functions.h`:
```cpp
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
int global_var; // वेरिएबल की घोषणा
void print_var();
#endif
```
और `functions.cpp`:
```cpp
#include
#include "functions.h"
void print_var() {
std::cout << "global_var = " << global_var << std::endl;
}
```
जब मैं इसे कंपाइल करने का प्रयास करता हूँ (उदाहरण के लिए, `g++ main.cpp functions.cpp -o program` के माध्यम से), तो मुझे "multiple definition of `global_var`" त्रुटि मिलती है। मैंने सुना