C ++在值中使用字符串变量 - CIM提供程序

时间:2014-11-21 20:54:50

标签: c++

我正在创建一个CIM提供程序,我的schema.mof文件如下所示:

class CIM_pvtv 
{ 
[Key] String name; 
String text; 
};

然后我运行omigen创建所有文件,依此类推。 我无法理解pvtv_Class_Provider.cpp文件中的C ++。这是简单的代码:

29 void pvtv_Class_Provider::EnumerateInstances(
30     Context& context,
31     const String& nameSpace,
32     const PropertySet& propertySet,
33     bool keysOnly,
34     const MI_Filter* filter)
35 {
36         pvtv_Class yup;
37
38         std::string sometext;
39         sometext = "hi";
40
41         yup.name_value("Jim");
42         yup.text_value(sometext);
43
44         context.Post(yup);
45         context.Post(MI_RESULT_OK);
46 }

当我运行make时,我得到了这个:

 sudo make
g++ -c -g -fPIC -Wall -fvisibility=hidden -fno-strict-aliasing -D_GNU_SOURCE -D_XOPEN_SOURCE=600         -D_BSD_SOURCE -I///opt/omi/include pvtv_Class_Provider.cpp -o pvtv_Class_Provider.o
pvtv_Class_Provider.cpp: In member function void mi::pvtv_Class_Provider::EnumerateInstances(mi::Context&, const mi::String&, const mi::PropertySet&, bool, const MI_Filter*):
pvtv_Class_Provider.cpp:42: error: no matching function for call to âmi::pvtv_Class::text_value(std::string&)
pvtv.h:368: note: candidates are: const mi::String& mi::pvtv_Class::text_value() const
pvtv.h:374: note:                 void mi::pvtv_Class::text_value(const mi::String&)
make: *** [pvtv_Class_Provider.o] Error 1

我遇到的问题是在yup.text_value()中使用变量“sometext”。如果我在引号中为它指定一个值,例如this yup.text_value(“hello”),它工作正常,但由于某种原因我不能在其中使用字符串变量。我究竟做错了什么? 谢谢

0 个答案:

没有答案