小编Sam*_*orn的帖子

为什么我的“ main()”函数不会调用void函数?

我正在开发一个程序来帮助我进行世界建设,该计划会根据用户选择的国家(德语,拉丁语,东部)随机生成定居点(村庄,村庄,城镇,城市)。不幸的是,我的代码在“ main()”函数处暂停,因为它不会调用我创建的“ settlementCreation()” void函数。

我试过将要调用的函数移到“ main()”函数上方,或者将我通常的创建函数的方法移到上面,在下面定义它的内容,但是这些都不起作用。由于我有限的C ++编写经验,所以我找不到其他解决方案。

主功能:

int main() {
    char tempChoice{};
    bool isMakingSettlement = true;
    while (isMakingSettlement = true) {
        cout << "Create a settlement? (y/n): ";
        cin >> tempChoice;
        cout << "\n\n";
        if (tempChoice == 'y') {
            settlementCreation();
        } else {
            isMakingSettlement = false;
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

SettlementCreation()函数:

void settlementCreation() {
    int tempType{};
    int tempNation{};
    bool isTypeValid = false;
    bool isNationValid = false;
    while (isTypeValid = false) {
        cout << "What type of settlement would …
Run Code Online (Sandbox Code Playgroud)

c++ function

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

为什么矢量初始化会使数组中的所有对象都相同?

我正在开发一个程序来帮助我进行世界建设,该计划会根据用户选择的国家(德语,拉丁语,东部)随机生成定居点(村庄,村庄,城镇,城市)。我已经集成了一种定居者生成系统,以在定居点中创建定居者,每个定居者使用构造函数并将结果作为对象保存在向量中,每个定居者均具有名称,年龄,性别和财富。不幸的是,该程序创建了一个完整的克隆种群,用相同名称,年龄等的移居者填充了载体。

我曾尝试在for循环中初始化Settler类的构造函数,但除了在您每次请求其中一个有关定居者的信息时,会导致获得一组不同的定居者之外,它没有做任何更改。

定居者构造函数:

class Settler {
  public:
  int settlerAge;
  string settlerName;
  string settlerGender;
  string settlerWealth;

  Settler(int type, int nation, int quantity) {
    int result{};
    string givenName{};
    string surName{};
    // Latin Male First Name
    string latinMaleName[15] = {"Faustus", "Mamercus", "Mettius", "Appius", "Hostus", "Quintus", "Cossus", "Secundus", "Servius", "Gallio", "Tettienus", "Petronius", "Paesentius", "Pescunnius", "Clodius"};
    // Latin Surname
    string latinSurname[30] = {"Natalinus", "Lucilianus", "Crispian", "Laetinianus", "Falco", "Otho", "Plautius", "Pascentius", "Lepidus", "Moderatus", "Caeparius", "Caetronius", "Hostilius", "Aedinius", "Papius", "Gennadia", "Triaria", "Planta","Amantia", "Mico", "Opilio", "Augusta", "Laevina", "Longina", …
Run Code Online (Sandbox Code Playgroud)

c++ constructor vector c++17

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

标签 统计

c++ ×2

c++17 ×1

constructor ×1

function ×1

vector ×1