में सशर्त संदर्भ घोषणा टेम्पलेट कक्षा में, टेम्पलेट में सशर्त रूप से किसी संपत्ति उपनाम को परिभाषित करने के लिए कैसे करें?टेम्पलेट वर्ग
उदाहरण:
template<class Type, unsigned int Dimensions>
class SpaceVector
{
public:
std::array<Type, Dimensions> value;
Type &x = value[0]; // only if Dimensions >0
Type &y = value[1]; // only if Dimensions >1
Type &z = value[2]; // only if Dimensions >2
};
इस सशर्त घोषणा संभव है? यदि हां, तो कैसे?
प्राथमिक आयाम में 'static_assert' भी चाहते हैं ताकि यह सुनिश्चित किया जा सके कि 'आयाम' मान्य है। – TartanLlama
अच्छा, हालांकि, विशेषज्ञों को एक दूसरे से क्यों नहीं मिला है? –
@ सोंग्युन्याओ: इसे बदल दिया, हालांकि जिस तरह से मैंने इसे संकलित किया था (शायद त्रुटि में) MSVC2013 में। – Bathsheba