2009-07-07 19 views
5

"पेंटिंग/qpathclipper.cpp", लाइन 1643.30: 1540-0274 (एस) "fuzzycompare" के लिए नाम लुकअप को कोई घोषणा नहीं मिली।फ़ंक्शन योग्य नहीं है यदि फ़ंक्शन योग्य नहीं है

"पेंटिंग/qpathclipper.cpp", लाइन 1643.30: 1540-1292 (i) फ़ंक्शन योग्य नहीं होने पर स्थिर घोषणाओं को फ़ंक्शन कॉल के लिए नहीं माना जाता है।

मैं XLC 9.0.0.4a पर क्यूटी 4.5.0 संकलित करने के लिए कोशिश कर रहा हूँ, और निम्न कोड के लिए ऊपर संकलक संदेश मिल रहा:

static bool fuzzyCompare(qreal a, qreal b) 
{ 
    return qFuzzyCompare(a, b); 
} 

template <typename InputIterator> 
InputIterator qFuzzyFind(InputIterator first, InputIterator last, qreal val) 
{ 
    while (first != last && !fuzzyCompare(qreal(*first), qreal(val))) //line 1643 
     ++first; 
    return first; 
} 
+1

भी देखें [XLC के साथ एक टेम्पलेट समारोह मुद्दे से स्थिर समारोह देखने] (http://stackoverflow.com/q/17661308/33732) –

उत्तर

6

"स्थिर" कीवर्ड यहाँ गलती से हुआ है , fuzzyCompare घोषित किया जाना चाहिए बस

bool fuzzyCompare(qreal a, qreal b) 
+2

रिकॉर्ड के लिए, यह नहीं है मामला: कार्य जो संकलन के लिए आंतरिक हैं यह * स्थिर होना चाहिए, या फिर प्रतीक निर्यात किया जाएगा। इसके बजाए, एक्सएलसी त्रुटि को उपयोग के बिंदु पर पूर्ण नाम (नेमस्पेस समेत) के साथ 'fuzzycompare' के उपयोग को अर्हता प्राप्त करके तय किया जाना चाहिए। –

+1

ओह, आप शायद सही हो। 'स्थैतिक' को हड़पने के लिए संकलन सफल हो गया, क्योंकि मैं 200 एमबी टैरबॉल में सभी कॉलों को 'फजी कॉम्पारेयर' (अब 5. क्यूफज़ी कॉम्पारेयर 'में बदलने के बारे में नहीं था ... –

+0

@ वाल्टरनिसेन:' ढूंढें । -type d -exec grep -l "[^:] fuzzyCompare (" {} \; | sed -i "s/\ ([^:] \) fuzzyCompare (/ \ 1fuzzy_namespace :: fuzzyCompare (/ g" '- अनचाहे और मेरे सिर के ऊपर से, लेकिन आपको विचार मिलता है .-) – DevSolar

संबंधित मुद्दे