我试图输出数组中元素对象的数量,但它的语法与 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/