【发布时间】:2012-11-29 00:09:01
【问题描述】:
在这里对不起初学者。我试图从 cin 函数中获取字符串大小,然后用它来声明数组大小。但它是说:
第 17 行:请求 'x' 中的成员 'size',它是非类类型 'std::string long int'。
虽然没有数组也可以正常工作。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int y;
string x[y];
cout << "Enter sequence" << endl;
cin >> x[y];
y = x.size;
for (int i = 0; i > y; i++)
cout x[i];
cout << "The size of the sequence is " << x.size() << " characters." << endl;
}
【问题讨论】:
-
您不能声明具有运行时大小的数组。为此使用
std::vector。您可能还会混淆 for 循环的条件。 -
我还没学过向量,有没有别的办法?
-
我认为你想要的只是
std::string x; std::cin >> x; std::cout << x;。它与输入和输出配合得很好。您似乎正在尝试使用std::string和char[]的组合。不过,向量比其他方式简单得多。 -
@Foxic:不。现在了解向量,你会成为一个更好的人。花 30 分钟的时间是值得的。
-
另外,我想备份并询问您要做什么。您问题的标题与代码不完全匹配。您想在这里解决什么问题?