これが私のコードです:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
struct Computer
{
char * model;
char * assembler;
int processorInt;
};
int main()
{
Computer comp;
char* model;
char* assembler;
int processorInt;
cin>>model;
cin>>assembler;
cin>>processor int;
comp.model = model;
comp.assembler = assembler;
comp.processorInt = processorInt;
return 0;
}
//そうすると動作しますが、別の方法で行うとセグメンテーション違反が発生します
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
struct Computer
{
char * model;
char * assembler;
int processorInt;
};
void setValues()
{
Computer comp;
char* model;
char* assembler;
int processorInt;
cin>>model;
cin>>assembler;
cin>>processor int;
comp.model = model;
comp.assembler = assembler;
comp.processorInt = processorInt;
}
int main()
{
setValues();
return 0;
}
では、その理由は何ですか?
私の目標は、各「コンピューター」に関する情報を保存できる構造の配列を作成し、任意の構造を編集して、配列全体をprocesorIntでソートできるようにすることです。しかし、通常の編集可能な構造を作成することさえできません。