标签: struct

在struct构建的向量中添加元素

我的C++可能包含多个错误......第一个是如何在向量中添加struct元素

我的代码将是这样的:

#include<iostream>
#include<vector>
using namespace std;
struct eMailMsg {
string to; // i.e. "professor@stanford.edu"
string from; // i.e. "student@stanford.edu"
string message; // body of message
string subject; // i.e. "CS106 Rocks!"
int date; // date email was sent
int time; // time email was sent
};

int main(){
    vector <eMailMsg> mailVector;
    mailVector[0]={"professor@stanford.edu","student@stanford.edu","body of message",4,16};
    for( std::vector<eMailMsg>::const_iterator i = mailVector.begin(); i != mailVector.end(); ++i)
    std::cout << *i << ' ';
    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ struct vector

-2
推荐指数
1
解决办法
2213
查看次数

NSUserDefaults中NSMutableArray结构的错误是什么?"尝试插入非属性列表对象"

我很只是想保存NSMutableArray/ NSArraystructS IN NSUserDefaults:

typedef struct {
    int key;
} provision;

provision p1;
p1.key = 4;
NSValue *p1Value = [NSValue value:&p1 withObjCType:@encode(provision)];

provision p2;
p2.key = 5;
NSValue *p2Value = [NSValue value:&p2 withObjCType:@encode(provision)];

NSMutableArray *provisions = [[NSMutableArray alloc] init];
[provisions addObject:p1Value];
[provisions addObject:p2Value];

[[NSUserDefaults standardUserDefaults] setObject:provisions forKey:@"Provisions"];
Run Code Online (Sandbox Code Playgroud)

我按照指南这里存储了所有的结构NSValue.但是最后一行会导致运行时错误:

*因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [NSUserDefaults setObject:forKey:]:尝试为关键项目插入非属性列表对象("<04000000>","<05000000>")

我究竟做错了什么?

c struct objective-c nsuserdefaults ios

-2
推荐指数
1
解决办法
497
查看次数

在C++中删除新结构

我在C++代码中有错误的行为,似乎是由于动态创建的结构的错误释放造成的.结构形式如下:

typedef struct
{
    char *value;
} Element;

typedef struct
{
    int num;
    Element **elements;
    int *index;
} Container;
Run Code Online (Sandbox Code Playgroud)

它们是这样创建的:

Element *new_element(int size)
{
    Element *elem = new Element;
    elem->value = new char[size];
    return elem;
}

Container *new_container(int num)
{
    Container *cont = new Container;
    cont->num = num;
    cont->elements = new Element*[num];
    cont->index = new int[num];
}
Run Code Online (Sandbox Code Playgroud)

解冻这些的正确方法是什么?

c++ free struct memory-management delete-operator

-2
推荐指数
1
解决办法
89
查看次数

C++谁将结构存储在堆栈中(STL)

我遇到这样的问题: C++:将结构存储在堆栈中

我的代码:

#include <stdio.h>
#include <stack>
#include <iostream>
#include <string>
using namespace std;

struct adresse{

    string info;
};

int main(){

    string eingabe;
    stack<adresse> Stack1;

    cout << "Bitte Ausdruck eingeben: " << endl;
    getline( cin, eingabe);

    adresse* temp;
    temp = new adresse;
    temp->info = eingabe[0];
    Stack1.push(temp);

    return 0;  
}
Run Code Online (Sandbox Code Playgroud)

错误是:

reference to type 'const value_type'(aka 'const adresse') could not bind to an 
lvalue of type 'adresse *'Stack1.push(temp);
Run Code Online (Sandbox Code Playgroud)

怎么了?

谢谢

汤米

c++ stack struct stl

-2
推荐指数
1
解决办法
625
查看次数

C警告:控制到达非void函数结构+结构问题

我正在构建一个使用结构来记录学生记录的程序.任务是创建一个函数(findOldest)来比较每个记录并找到最老的学生.

到目前为止这是我的代码:

#include <stdio.h>
#include <stdlib.h>

typedef struct {
    char name[20];
    char surname[20];
    char UUN[6];
    char department[4];
    char gender;
    int age;
} student;

void printStudent(student s) {
    printf("Name: %s %s\n", s.name, s.surname);
    printf("UUN: %s\n", s.UUN);
    printf("Department: %s\n", s.department);
    printf("Gender: %c\n", s.gender);
    printf("Age: %d\n", s.age);
}

student findOldest ( student *studentarr, int len ) {
    int age = 0;
    int i;

    for ( i = 0; i < len; i++ ) {
        if ( age <= studentarr[i].age ) { …
Run Code Online (Sandbox Code Playgroud)

c struct function

-2
推荐指数
1
解决办法
362
查看次数

如何访问其原始函数之外的结构成员?

我正在开发一个项目,我在一个单独的函数内创建结构main().在创建并将成员(变量)信息添加到结构变量中之后,我需要能够return指向结构的指针,我可以在其中访问它以供参考和打印.

我包括我的代码,请尽可能简单,因为我是结构新手.

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

typedef struct _car
{
    char color[20];
    char model[20];
    char brand[20];
    int year;
    struct _car *eptr;
} Car;

Car* readCars(char* filename);


/*
 * 
 */
int main(int argc, char** argv) {
    Car *Cars;
    Car *eptr;

    Cars = readCars(argv[1]);

    printf("%s%s%s%s", Cars->color, Cars->brand, Cars->model, Cars->color);

    return (EXIT_SUCCESS);
}

Car* readCars(char* filename)
{
    FILE *file = fopen(filename, "r");
    int year;
    char color [20], model [20], brandx[20];
    Car car1;
    Car car2;
    Car *carptr;
    Car *car2ptr; …
Run Code Online (Sandbox Code Playgroud)

c struct pointers

-2
推荐指数
1
解决办法
78
查看次数

(C++)1维战舰游戏有帮助吗?建议改进

不幸的是,我没有教练在周末帮助我完成这项任务,而且我被困住了.我只是学习C++而且我已经参加了编程的逻辑和设计课程,但就像我说我对C++很新.我很难赶上其他学生.

我想如果有人可以列出改进,并且可能会澄清我是否在与赋值语句相比做错了.我非常感谢你的帮助!

我的代码是重复的,我确信我可以采用另一种方式显示数组值而不需要所有代码.使用应用程序后会弹出错误:

"运行时检查失败#2 - 变量'敌人'周围的堆栈已损坏.

如果有这个例外的处理程序,程序可以安全地继续."

作业是:

"创建一个Battleship结构,其中包含5个一维整数坐标,表示其在一个区域内的位置(任意大小).实例化结构的2个副本,并让用户为每个战舰输入一个坐标.设计代码以获取此单个坐标并使用它来填充每艘船的剩余4个坐标.为两个船舶结构执行此操作.然后,让您的代码根据各自的坐标计算两艘船之间的数字距离.最后,使用英语句子."

我现在的代码是:

#include <iostream>
#include <string>

using namespace std;

struct Ship
{
    int x[5];
    int y[5];
};

int main()
{
    Ship good;
    Ship enemy;

    good.x[0] = 0;
    enemy.y[0] = 0;

    cout << "Enter a coordinate (out of 100) for good ship: "<< endl;
    cin >> good.x[0];

    good.x[1] = good.x[0] + 1;
    good.x[2] = good.x[1] + 1;
    good.x[3] = good.x[2] + 1;
    good.x[4] = good.x[3] + 1;

    cout << "Good ship coordinates:" << …
Run Code Online (Sandbox Code Playgroud)

c++ arrays struct

-2
推荐指数
1
解决办法
389
查看次数

'struct'在参数列表中声明

这是我的头文件,它包含在另一个文件中但尚未使用:

#define ksm_read 0X01
#define ksm_rdwr 0x00

struct ksm_info_t {
    uint ksmsz; //size of shared mem
    int cpid;   //pid of the creator
    int mpid;   //pid of the last modifier
    uint attached_nr; //number of attached processes
    uint atime; //last attached time
    uint dtime; //last deattach time
    uint total_shrg_nr; //total number of existing shared regions
    uint total_shpg_nr; //total number of existing shared pages
};

int ksmget(char* name, uint size);
int ksmattach(int hd, int flag);
int ksmdetach(int hd);
int ksminfo(int hd, struct ksminfo_t* …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction error-handling struct header

-3
推荐指数
1
解决办法
2750
查看次数

类可以继承C ++中的struct吗?

我在c ++中有以下代码:

typedef struct
{
   int a;
   int b;
   float c;
} Data;

class DataInfo : public Data
{
   // some code here
};
Run Code Online (Sandbox Code Playgroud)

我的问题是类可以在C ++中继承struct吗?这是怎么发生的?

c++ inheritance struct

-3
推荐指数
1
解决办法
3586
查看次数

如何在类内部使用变量类型?

我必须使用SDL为我的年终项目构建一个视频游戏.但是我对于如何以及何时使用类有点迷茫.

T试图在一个类中包含一个变量类型的结构但我无法做到这一点,也许Position应该是一个类而不是一个结构?这是我的代码:

struct Position{
    int x,y;
};

class Object{
    private:
        Position pos;
        Position speed;
        int tipe;
    public:
        Objeto(int,int);
        Objeto();
        ~Objeto(); // DESTROY
};
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时,我得到错误:'class Object' has no member named 'x'如何在对象中包含结构?

c++ struct class

-3
推荐指数
1
解决办法
263
查看次数