You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++类内结构体vector运行无输出 课程项目技术求助

帮你排查Inventory Inquisitor的无输出问题

嘿,别担心新手错误——谁都是从踩坑过来的!😊 现在看不到你的具体代码,没法直接定位问题,但我可以先给你几个最常见的排查方向,等你贴出代码后我们再深入分析:

  • vector是空的! 如果你的结构体vector只是被声明了,但你没往里面添加任何结构体实例(比如没调用push_back(),也没初始化元素),那遍历它自然不会有任何输出。这是新手最容易犯的小疏忽哦。
  • 打印函数没被调用! 你可能在类里写了显示结构体内容的成员函数,但在main()里既没实例化这个类的对象,也没调用这个打印函数?比如你得先创建Inventory类的对象,再调用它的显示方法才行。
  • 打印逻辑有bug! 比如遍历vector的时候循环条件写错了(比如把i < vec.size()写成了i > vec.size()),或者打印语句里的变量名拼写错误,导致内容没被正确输出到控制台。

给你一个简单的正确示例,你可以对比看看自己的代码哪里不一样:

#include <iostream>
#include <vector>
#include <string>

// 你的结构体
struct InventoryItem {
    std::string itemName;
    int stockCount;
};

// 你的类
class InventoryInquisitor {
private:
    std::vector<InventoryItem> inventoryList;
public:
    // 添加物品到库存的方法
    void addItem(const std::string& name, int count) {
        inventoryList.push_back({name, count});
    }

    // 显示库存内容的方法
    void displayInventory() {
        // 用范围for循环遍历vector
        for (const auto& item : inventoryList) {
            std::cout << "物品名称:" << item.itemName << ",库存数量:" << item.stockCount << std::endl;
        }
    }
};

int main() {
    // 实例化类对象
    InventoryInquisitor myInventory;
    // 别忘了添加物品!
    myInventory.addItem("螺丝刀", 20);
    myInventory.addItem("扳手", 15);
    // 调用显示函数
    myInventory.displayInventory();
    return 0;
}

快把你的代码贴出来吧,特别是类的定义、main()函数里的调用部分,我们一起找出问题所在~

内容的提问来源于stack exchange,提问作者BrockBonnett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:59:12