C ++在struct成员中使用方法

时间:2015-04-07 16:35:35

标签: c++

我是C ++编程的新手,我遇到过这种情况。我有一个像这样定义的结构

struct someStruct{
    ...
    char sType[16];
    ...
};

在我的代码中,我尝试比较哪个值进入这个成员,我尝试使用这样的东西(因为我在C#中工作)

someStruct.sType.compare("FF") == 0 

但它会引发编译错误。我现在正在做的是将someStruct.sType设置为变量X并使用

X.compare

这是这样做的方法吗? (我不这么认为) 还有另一种方法来实现这个目标吗?

2 个答案:

答案 0 :(得分:3)

您想使用std::string。它有你想要的方法。它甚至有compare方法。

char数组不是任何与之关联的方法的对象,它只是数据。

答案 1 :(得分:1)

char数组不是类,因此它没有compare等成员函数。

您可以改为使用std::string

std::string sType;

并将其与std::string::compare进行比较:

if (someStruct.sType.compare("FF") == 0)

或者只是使用operator==

if (someStruct.sType == "FF")