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