Problem compiling C++ template code -
मेरे पास निम्न टेम्प्लेट है:
टेम्पलेट & lt; class मैट्रिक्स & gt; मैट्रिक्स क्षैतिज_जोइंड (कॉन्स्ट मैट्रिक्स एंड एम 1, कॉन्स्ट मैट्रिक्स एंड एम 2) {एसरेट (पंक्तियाँ (एम 1) == पंक्तियाँ (एम 2), "पंक्तियों की असमान संख्या"); टाइपिप्पिफ़ टाइपनाम मेट्रिक्स :: मूल्य_प्रकार स्केलर; मैट्रिक्स आर (पंक्तियाँ (एम 1), एनबीओएल (एम 1) + एनबीसीएल (एम 2)); (अहस्ताक्षरित i = 0; i & lt; nbrow (m1); i ++) {के लिए (अहस्ताक्षरित जम्मू = 0; जम्मू & lt; nbcol (m1); j ++) r (i, j) = m1 (i, j); (अहस्ताक्षरित जे = 0; जे एंड एलटी; एनबीसीएल (एम 2); जे ++) आर (आई, जे + एनबीकॉल (एम 1)) = एम 2 (आई, जे); } वापसी आर; }
"MATRDSE.m" नामक कुछ पुस्तकालय में परिभाषित "Matrsse.hpp" फ़ाइल में "matrsdse" नामक एक संरचना को भी परिभाषित किया गया है जो एक घने मैट्रिक्स प्रकार का प्रतिनिधित्व करता है और जिसमें कई
- कॉन्स्ट्रक्टर्स, जैसे मैट्रसे (इंट एनआरआरओ, इंट एनआरकॉल्स, कॉन्स्ट मान_प्रकार * Src, बाय ())
-और तरीकों, जैसे स्थानांतरण ()।
मैं अपने मुख्य फ़ंक्शन में "horizontal_join" टेम्पलेट का उपयोग करना चाहता हूं:
#include & lt; matrdse.hpp & gt; # शामिल करें & lt; MATRDSE.m & gt; टाइपफेड मादरी & lt; डबल & gt; MxPoly; इंट मुख्य {डबल वी [] = {1,2,1,1,3,4,2,2,5,5,5,5 -2 -2, 1,2,3,1, -2.8, -2.4, 1, .2,5.8}; matrdse & LT; डबल & gt; ए (4,4, वी, ByRow ()); std :: अदालत के & lt; & lt; "एक =" & lt; & lt; endl & lt; & lt; & lt; & lt; endl; matrdse & LT; डबल & gt; एटी (ए); AT.transpose (); std :: अदालत के & lt; & lt; "पक्षांतरित (ए) =" & lt; & lt; endl & lt; & lt; एटी एंड lt; & lt; endl; एमएक्सपीली बी; बी = horizontal_join & LT; MxPoly & gt; (ए, एटी); अदालत & lt; & lt; p & lt; & lt; endl; वापसी 0; }
सब कुछ ठीक काम करता है, जब तक कि "क्षैतिज_जोय" को बुलाया जाता है और बी में वापस आ जाता है। मुझे निम्न संकलन त्रुटि मिलती है:
main.cpp: 168: त्रुटि: 'इस क्षैतिज_जोय' को इस स्कोप में घोषित नहीं किया गया main.cpp: 168: त्रुटि: अपेक्षित प्राथमिक-अभिव्यक्ति '& gt;' पहले टोकन
मुझे त्रुटि समझ में नहीं आ रहा है जैसा कि मैंने इसे देखा है, मुझे नहीं पता कि टेम्पलेट कैसे कॉल करें ..
किसी भी सुझाव के लिए पहले से धन्यवाद, मददलिन
क्या यह वास्तविक कोड है? आपके पास #define
(अपने आप में एक बुरा विचार) उलट है। यह होना चाहिए
# परिभाषित MxPoly matrsde & lt; डबल & gt;
Comments
Post a Comment