से किसी टेम्पलेट क्लास के टेम्पलेट सदस्य फ़ंक्शन को कॉल करने में असमर्थ मुझे किसी अन्य टेम्पलेट क्लास के टेम्पलेट क्लास के टेम्पलेट सदस्य फ़ंक्शन तक पहुंचने का प्रयास करते समय संकलक त्रुटियां मिल रही हैं। getSubmatrix
पर एक फ़ंक्शन कॉल संकलक (0, 0)
पैरामीटर के बारे में संकलक चेतावनी, "अभिव्यक्ति परिणाम अप्रयुक्त" में परिणाम देता है, अंत में संकलक त्रुटि के साथ विफल रहता है "गैर स्थैतिक सदस्य फ़ंक्शन के संदर्भ में" कहा जाना चाहिए।किसी अन्य टेम्पलेट वर्ग
मैट्रिक्स वर्ग:
template <std::size_t m, std::size_t n, typename T, std::size_t rowPadding = 0>
class Matrix
{
public:
...
template <std::size_t p, std::size_t q>
Matrix<p, q, T, n - q>& getSubmatrix(std::size_t column, std::size_t row)
{
...
}
};
बदलने वर्ग:
template <typename T>
class Transform
{
public:
...
Matrix<4, 4, T> matrix() const
{
...
Matrix<4, 4, T> result;
result.getSubmatrix<3, 3>(0, 0) = Matrix<3, 3, T>();
...
}
};
ध्यान दें कि Matrix<4, 4, float>
बजाय Matrix<4, 4, T>
को मैट्रिक्स प्रकार बदलने वैध संकलन का परिणाम देगा। कंपाइलर क्लैंग 4.0 है और भाषा संस्करण सी ++ 11 है।
इस प्रविष्टि के लिए आपको बहुत बहुत धन्यवाद, यह वास्तव में क्लैंग त्रुटि संदेश से अनुमान लगाने के लिए बेहद मुश्किल था। –