আমি নিম্নলিখিত প্রোগ্রামটির 6 লাইনে (my_foo- কে foo_init প্রারম্ভিক) একটি ত্রুটি পেয়েছি এবং কেন নিশ্চিত তা আমি নিশ্চিত নই।
typedef struct foo_t {
int a, b, c;
} foo_t;
const foo_t foo_init = { 1, 2, 3 };
foo_t my_foo = foo_init;
int main()
{
return 0;
}
মনে রাখবেন এটি আমি কাজ করছি এমন একটি বৃহত, বহু-ফাইল প্রকল্পের একটি সরলীকৃত সংস্করণ। লক্ষ্যটি ছিল অবজেক্ট ফাইলে একটি একক ধ্রুবক থাকা, একাধিক ফাইল কোনও রাষ্ট্র কাঠামো সূচনা করতে ব্যবহার করতে পারে। যেহেতু এটি সীমিত সংস্থান সহ এম্বেডড লক্ষ্য এবং কাঠামোটি এত ছোট নয়, আমি উত্সটির একাধিক অনুলিপি চাই না। আমি ব্যবহার না করা পছন্দ করব:
#define foo_init { 1, 2, 3 }
আমি পোর্টেবল কোডও লেখার চেষ্টা করছি, সুতরাং আমার কাছে এমন একটি সমাধান দরকার যা বৈধ C89 বা C99।
এটি কি কোনও অবজেক্ট ফাইলে ওআরজিগুলির সাথে সম্পর্কযুক্ত? সেই আরম্ভকৃত ভেরিয়েবলগুলি একটি ওআরজিতে যায় এবং দ্বিতীয় ওআরজির বিষয়বস্তু অনুলিপি করে আরম্ভ করা হয়?
হয়তো আমার কেবল আমার কৌশলটি পরিবর্তন করতে হবে এবং প্রারম্ভকালে সমস্ত অনুলিপি শুরু করার একটি প্রাথমিক কাজ করব। সেখানে অন্য ধারণা না থাকলে?