我的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) 我很只是想保存NSMutableArray
/ NSArray
的struct
S 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++代码中有错误的行为,似乎是由于动态创建的结构的错误释放造成的.结构形式如下:
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++:将结构存储在堆栈中
我的代码:
#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)
怎么了?
谢谢
汤米
我正在构建一个使用结构来记录学生记录的程序.任务是创建一个函数(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) 我正在开发一个项目,我在一个单独的函数内创建结构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++而且我已经参加了编程的逻辑和设计课程,但就像我说我对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) 这是我的头文件,它包含在另一个文件中但尚未使用:
#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 ++中有以下代码:
typedef struct
{
int a;
int b;
float c;
} Data;
class DataInfo : public Data
{
// some code here
};
Run Code Online (Sandbox Code Playgroud)
我的问题是类可以在C ++中继承struct吗?这是怎么发生的?
我必须使用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'
如何在对象中包含结构?