c++ - 在 cout 语句中连接数组大小

标签 c++ arrays

我试图输出数组中元素对象的数量,但它的语法与 Java 的语法不同:

    // print list of all messages to the console
void viewSent()
{
    cout << "You have " << sent.size() << " new messages.\n";//Error: left of '.size' must have class/struct,union
    std::cout << "Index      Subject" << '\n';

    for (size_t i = 0; i < sent.size(); ++i)
    {
        std::cout << i << "    : " << sent[i].getSubject() << '\n';
    }
}

如果 .size 在 C++ 语法中不起作用,那是什么?

最佳答案

Java 数组的 C++ 等价物是 std::vector . sent.size()是获取大小的正确方法。

您没有发布您对 sent 的定义但应该是std::vector<YourObject> sent; ,可能还指定了初始大小和/或值。

我猜你试图使用 C 风格的数组——不要那样做,C 风格的数组由于历史原因具有奇怪的语法和行为,而且在 C++ 中真的没有必要使用它们。

关于c++ - 在 cout 语句中连接数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26070324/

相关文章:

c++ - 货币选择有效,除非用户选择欧元或 'e'

c++ - 函数不读取二维数组的 [i][0] 行

c# - 如何排除数组的值?

java - 二维数组java中的Arrayindexoutofbounds

c++ - 常量字符数组的获取字符串长度函数(strlen)不是常量表达式

c++ - 如何检查C++中的内存损坏

c++ - wcout与cout、wstring与string的混淆

c++ - 鱼眼畸变校正

java - Vector<> 类的 toArray() 方法

c - 在c中重新填充二维数组