मैं ओडीआर पढ़ रहा था और के रूप में शासन "In the entire program, an object or non-inline function cannot have more than one definition"
कहते हैं और मैंने कोशिश की निम्न में से एकाधिक परिभाषा ...एक परिभाषा नियम - इनलाइन कार्यों
file1.cpp
#include <iostream>
using namespace std;
inline int func1(void){ return 5; }
inline int func2(void){ return 6; }
inline int func3(void){ return 7; }
int sum(void);
int main(int argc, char *argv[])
{
cout << func1() << endl;
cout << func2() << endl;
cout << func3() << endl;
cout << sum() << endl;
return 0;
}
file2.cpp
inline int func1(void) { return 5; }
inline int func2(void) { return 6; }
inline int func3(void) { return 7; }
int sum(void) { return func1() + func2() + func3(); }
यह नियम के अनुसार काम करता है। मैं इनलाइन कार्यों की कई परिभाषा रख सकता हूं।
- गैर-इनलाइन फ़ंक्शन लिंकेज और इनलाइन फ़ंक्शन लिंकेज के बीच क्या अंतर है?
- लिंकर इन दोनों के बीच अंतर कैसे करता है?
उन्होंने उद्धृत किया कि एक वस्तु या * गैर-इनलाइन * फ़ंक्शन में एक से अधिक परिभाषा नहीं हो सकती है। –