结构体对象声明

发布于 2024-11-04 18:15:53 字数 595 浏览 1 评论 0原文

大家好,我已经制作了一个结构,我想用它制作 2 个对象。我正在使用 qtcreator。

我写

struct grapharray gao ; (grapharray 是我的结构)

每个东西都运行良好,但是当我编写另一个对象(例如

struct grapharray  gao ;
struct grapharray  gao1 ;

我的程序意外完成)时,任何人都可以告诉我为什么会这样以及我应该在哪里声明该结构 这里的对象

struct grapharray
{
int structcol;
double  *structpayloadgraph;

double  *structsessiongraph;

};

是我的结构;

我有一个功能,

    struct grapharray graphplotdata(char * filename)
{ // computing some values and returning structure object
}

谢谢

hello every i have made a structure and i want to make 2 objects of it . i am using qtcreator.

i write

struct grapharray gao ; (grapharray is my structure)

every thig works well but when i write another object like

struct grapharray  gao ;
struct grapharray  gao1 ;

my program unexpectedly finishes can any one tell me why is it so and where should i declare the struct object

struct grapharray
{
int structcol;
double  *structpayloadgraph;

double  *structsessiongraph;

};

here is my structure;

and i have a function

    struct grapharray graphplotdata(char * filename)
{ // computing some values and returning structure object
}

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

辞取 2024-11-11 18:15:53

如果我很好地理解这个问题,我会说你使用了太多的“struct”关键字。

如果您将结构定义为,

struct grapharray
{
    int structcol;
    double  *structpayloadgraph;
    double  *structsessiongraph;
};

则在声明变量时不需要使用关键字“struct”。

grapharray  gao;  // without struct keyword
grapharray  gao1; // without struct keyword

并且您的函数应该是

grapharray graphplotdata(char * filename) // without struct once again.
{
    // computing some values and returning structure object
}

结构,其工作方式与类几乎相同;主要区别在于,结构成员和方法默认为“公共”,类成员和方法默认为“私有”。


编辑:考虑到 Dennis Zickefoose 的评论,这不是一个好的答案。

If I understand well the problem, I would say that you use far too much the "struct" keyword.

If you define your struct as

struct grapharray
{
    int structcol;
    double  *structpayloadgraph;
    double  *structsessiongraph;
};

then you don't need to use the keyword "struct" when declaring the variables.

grapharray  gao;  // without struct keyword
grapharray  gao1; // without struct keyword

and your function should be

grapharray graphplotdata(char * filename) // without struct once again.
{
    // computing some values and returning structure object
}

structs does works almost the same way as classes; the main difference is that structs members and methods are "public" by default and classes members and methods are "private" by default.


Edit: Considering the comment of Dennis Zickefoose, this is not the good answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文