構造体を動的に割り当てる方法を理解するのに役立つ簡単なプログラムを作成しました。私は、プログラムがユーザーから5つの名前と5つのアカウントを取得し、名前とアカウントを表示するようにします。私はポインタが参照変数のようなものであることを知っている、唯一の違いは、値を渡す代わりに、変数のアドレスを渡します。私はライン23( "std :: cin.ignore(std :: numeric_limits :: max()、")行25( "getline(std :: cin、clientPtr [count] .name);" ( "std :: cin >> clientPtr [count] .accounts;")、40行目( "std :: cout < <"の名前: "< < clientPtr [count]。 );)41行目( "std :: cout < <"名前: "< < clientPtr [count] .name;")、31行目(showInfo(&クライアント))。私がデバッグすると、41行目が実行されていないことが示されます。各クライアントの名前とアカウントが表示されます。この場合はそうではありません。なぜ私は少しの背景に、私はC + +、デバッガを使用して新しくて、私は少し理由がわからない。私はxcode 8.2を使用しています。私が使用しているデバッガはlldbです。私は学ぶためにここにいるので、何かが助けになるでしょう。ありがとう。私は構造体を動的に割り当てるのに問題があります
#include <iostream>
#include <limits>
struct BankInfo
{
std::string name;
std::string accounts;
};
void showInfo(BankInfo*);
int main()
{
BankInfo client;
BankInfo* clientPtr=nullptr;
clientPtr = new BankInfo[5];
for(int count =0; count < 5; count++)
{
std::cout << "Enter your name:";
getline(std::cin,clientPtr[count].name);
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
std::cout << "Enter you account number:";
std::cin >>clientPtr[count].accounts;
}
showInfo(&client);
return 0;
}
void showInfo(BankInfo* clientPtr)
{
for(int count =5; count < 5; count++)
{
std::cout <<"Name:" << clientPtr[count].name;
std::cout <<"Account:" << clientPtr[count].accounts;
}
}
for(int count = 5; count <5; count ++) ' - この行に何か問題がありますか? – PaulMcKenzie
'showInfo(&client);'何か間違っているのを見ますか? – juanchopanza