c++ - No matching function to call - compiler says I call (QObject *&) when call is (QObject *) -


यह कोड है:

  शून्य invokeQMLFunction2Arg (QObject * ऑब्जेक्ट, QString func, QVariant P1, QVariant p2) {QMetaObject :: invokeMethod (वस्तु, फ़ंक्शन, क्यूटी :: डायरेक्ट कनेक्शन, Q_ARG (QVariant, p1), Q_ARG (QVariant, p2)); }   

यह त्रुटि है:

  त्रुटि: 'QMetaObject :: invokeMethod (QObject * & amp; QString & amp ;, Q :: कनेक्शन प्रकार, QArgument & lt; QVariant & gt ;, QArgument & lt; QVariant & gt;) '  

मुझे क्या याद आ रहा है? मैं एक संकेतक के साथ invokeMethod () को कॉल करता हूं, फिर भी संकलक शिकायत करता है कि यह एक सूचक संदर्भ है।

आप दूसरे तर्क के लिए एक क्यूस्ट्रिंग पास करने की कोशिश कर रहे हैं, जबकि यह const char * होना चाहिए। उस प्रकार को उचित रूप में परिवर्तित करें क्योंकि इसमें कोई अंतर्निहित रूपांतरण नहीं है। आपको यह तय करने की आवश्यकता है कि इसे इसे QByteArray में कनवर्ट करने के लिए, इसलिए यह एक उदाहरण है कि आप संभावित रूप से लिख सकते हैं:

  QMetaObject :: invokeMethod (ऑब्जेक्ट, फंक) toUtf8 ()। constData (), क्यूटी :: डायरेक्ट कनेक्शन, Q_ARG (QVariant, p1), Q_ARG (QVariant, p2));    

Comments

Popular posts from this blog

Verilog Error: output or inout port "Q" must be connected to a structural net expression -

jasper reports - How to center align barcode using jasperreports and barcode4j -

c# - ASP.NET MVC - Attaching an entity of type 'MODELNAME' failed because another entity of the same type already has the same primary key value -