मुझे समस्या दिखाने के लिए कुछ बहुत ही सरल सी ++ कोड मिला है। मैं अपने सरणी को ctor में मानों के साथ शुरू करता हूं। लेकिन जब मैं मुख्य रूप से सरणी तक पहुंचने का प्रयास करता हूं, तो उन मानों को यादृच्छिक संख्याओं से बदल दिया जाता है। क्यूं कर?ऐरे प्रारंभिक मानों को धारण नहीं कर रहा है
//Example to figure out why initialization values are disappearing
#include <iostream>
struct Struct1
{
float array1[2];
//ctor
Struct1();
};
Struct1::Struct1()
{
float array1[] = {0.2,1.3};
}
int main()
{
Struct1 StructEx;
std::cout<<StructEx.array1[0]<<' ';
std::cout<<StructEx.array1[1]<<std::endl;
return 0;
}
'फ्लोट सरणी 1 [] = {0.2,1.3}; 'कन्स्ट्रक्टर में एक नया * स्थानीय * चर' array1' बनाता है। – crashmstr
सदस्य परिवर्तक को संदर्भित करने के लिए ctor में 'float' को हटाएं - और जब आप कर सकते हैं तो ctor body पर प्रारंभिक सूची का उपयोग करना पसंद करते हैं। –
यह 4 अपवॉट कैसे प्राप्त हुआ? : ओ ओपी को कोई अपराध नहीं, लेकिन यह कुछ हद तक बुनियादी है। – HolyBlackCat