我在C++中編寫了一些代碼來練習製作函數,並遇到了一個字符串數組的問題,我想在一個函數中定義特定元素,然後在另一個函數中輸出這些元素。到目前爲止,我只完成了輸入部分的代碼。當我運行該程序時,它會在第二次詢問播放器名稱時停止響應。我有我的陣列,p[1]
,定義爲std::string
,否則當我嘗試運行getline(cin, p[x])
時會出現錯誤。關於爲什麼程序停止運行以及如何創建我想要的陣列的任何見解?C++中的全局字符串數組
我的代碼:
#include <stdio.h>
#include "simpio.h"
#include "strlib.h"
#include "iostream.h"
int Hp[1], Atk[1], Ddg[1];
std::string p[1];
void player(int x){
cout<<"Player name: ";
getline(cin, p[x]);
cout<<"\tHp: ";
cin>>Hp[x];
cout<<"\tAtk: ";
cin>>Atk[x];
cout<<"\tDdg: ";
cin>>Ddg[x];
}
main(){
string go;
player(0);
player(1);
cout<<"Go? (Yes/No): ";
cin>>go;
cin.get();
}
爲了使陣列有一個指標1,它需要有大小至少2. – Brian