আমি বিশ্বাস করি যে এগুলি মূলত [টেম্পেস্টেস্ট ২ / ২ (জোর খনি) এ সিদ্ধ হয় :
একটি বর্গ টেমপ্লেট বিশেষজ্ঞতা অন্তর্নিহিত ইনস্ট্যান্স ঘোষণা অন্তর্নিহিত ইনস্ট্যান্স সৃষ্টি করে কিন্তু সংজ্ঞা না , ডিফল্ট আর্গুমেন্ট, অথবা noexcept-নির্দিষ্টকরী এর বর্গ সদস্য ফাংশন, সদস্য ক্লাস, scoped সদস্য enumerations, স্ট্যাটিক ডাটা সদস্যদের , সদস্য টেমপ্লেট, এবং বন্ধুদের; [...]
এবং [temp.inst] / 9
কোনও বাস্তবায়ন সুস্পষ্টভাবে তাত্ক্ষণিকভাবে […] শ্রেণীর টেম্পলেটের স্থিতিশীল ডেটা সদস্য […] ততক্ষণ তত্ক্ষণাত জোর করে না।
অন্তর্নিহিত টেম্পলেট ইনস্ট্যান্টেশন সম্পর্কিত স্ট্যান্ডার্ড শব্দটি অনেক বিবরণ ব্যাখ্যার জন্য উন্মুক্ত। সাধারণভাবে, এটা আমার কাছে মনে হবে যে আপনি কেবল একটি টেম্পলেটের অংশের উপর নির্ভর করতে পারে না না instantiated হচ্ছে যদি না স্পেসিফিকেশন স্পষ্টভাবে তাই বলছেন। এভাবে:
স্নিপেট # 1
প্র: কেন এই কোডটি সংকলন করে? বি থেকে উত্তরাধিকার সূত্রে আমরা কী তত্ক্ষণাতন করছি না? বি তে কোনও ভিডি নেই, তাই সংকলকটি কি এখানে একটি ত্রুটি ফেলে না?
আপনি তাত্ক্ষণিক হয় A<B>
। তবে তাত্ক্ষণিকভাবে A<B>
কেবল ঘোষণাগুলি তাত্ক্ষণিক করে তোলে, এর স্থির ডেটা সদস্যদের সংজ্ঞা নয়। VB
এমন কোনও উপায়ে কখনই ব্যবহৃত হয় না যার অস্তিত্বের জন্য কোনও সংজ্ঞা প্রয়োজন। সংকলকটির এই কোডটি গ্রহণ করা উচিত।
স্নিপেট # 2
প্র: এটি জিসিসি 9 এর সাথে কেন সংকলন করে / কেন এটি ক্ল্যাং 9 দিয়ে সংকলন করে না?
জারোড 42 দ্বারা নির্দেশিত হিসাবে, ঘোষণায় AB
একটি স্থানধারক ধরণের থাকে। এটি আমার কাছে মনে হবে যে স্ট্যান্ডার্ডটির শব্দটি এখানে কী ঘটবে বলে মনে করা হচ্ছে তা সত্যই পরিষ্কার নয়। কোনও স্থির ডেটা সদস্যের ঘোষণার তাত্ক্ষণিকতায় কোনও স্থানধারক ধরণের ট্রিগার স্থানধারক ধরণের কাটা থাকে এবং এইভাবে স্থিতিশীল ডেটা সদস্যের সংজ্ঞা প্রয়োজন এমন এমন একটি ব্যবহার গঠন করে? আমি স্ট্যান্ডার্ডে শব্দটি খুঁজে পাচ্ছি না যা স্পষ্টভাবে হ্যাঁ বা এটির জন্য বলবে। সুতরাং, আমি বলব যে উভয় ব্যাখ্যা এখানে সমানভাবে বৈধ এবং এইভাবে, জিসিসি এবং ঝনঝন উভয়ই সঠিক ...
স্নিপেট # 3
প্র: যদি স্ট্রাক্ট বি এখানে অসম্পূর্ণ থাকে তবে কেন এটি স্নিপেট # 2 এ অসম্পূর্ণ নয়?
একটা ক্লাস টাইপ সময়ে শুধুমাত্র সম্পূর্ণ হলে যেখানে আপনি ক্লোজিং পৌঁছানোর }
এর ক্লাস-সুনির্দিষ্টভাবে উল্লেখ করা [class.mem] / 6 । সুতরাং, আপনার সমস্ত B
স্নিপকেটের অন্তর্নিহিত ইনস্ট্যান্টিশনের সময় এটি অসম্পূর্ণ A<B>
। এটি স্নিপেট # 1 এর জন্য অপ্রাসঙ্গিক ছিল। স্নিপেট # 2 এ, ঝনঝন No member named AD in B
ফলাফল হিসাবে আপনাকে একটি ত্রুটি দিয়েছে । স্নিপেট # 2 এর মতো, ঠিক কখন সদস্যের ওরফে ঘোষণা তাত্ক্ষণিকভাবে শুরু করা হবে তা আমি খুঁজে পাচ্ছি না। তবে, স্থিতিশীল ডেটা সদস্যদের সংজ্ঞা থেকে ভিন্ন, কোনও শ্রেণীর টেম্পলেটের অন্তর্নিহিত ইনস্ট্যান্টিশনের সময় সদস্যের ওরফে ঘোষণার ঝলক স্পষ্টভাবে প্রতিরোধ করার জন্য কোনও শব্দ নেই। সুতরাং, আমি বলব যে জিসিসি এবং ঝনঝন উভয়ের আচরণই এই ক্ষেত্রে মানদণ্ডের একটি বৈধ ব্যাখ্যা ...
struct B
ইনস্ট্যান্টA
করছে নাB
?