C++ 操作员不匹配,为什么此代码未获得cin? #包括 模板 无效长度(TA[200]) { std::cout
您不能像C++ 操作员不匹配,为什么此代码未获得cin? #包括 模板 无效长度(TA[200]) { std::cout,c++,C++,您不能像std::cin>>a;那样直接输入到数组中。您需要做的是在数组中循环并将输入插入到每个元素中。您可以使用 #include <iostream> template <typename T> void Len(T a[200]) { std::cout<< sizeof(a) / sizeof(a[0])<<std::endl; } int main() { int a[300]; std::cout<&
std::cin>>a;
那样直接输入到数组中。您需要做的是在数组中循环并将输入插入到每个元素中。您可以使用
#include <iostream>
template <typename T>
void Len(T a[200])
{
std::cout<< sizeof(a) / sizeof(a[0])<<std::endl;
}
int main()
{
int a[300];
std::cout<<"Put the values of array you want."<<std::endl;
std::cin>>a;
std::cout<<"The number of occurrences of value in the array is";
Len(a);
}
不能像
std::cin>>a;
那样直接输入到数组中。需要做的是在数组中循环并将输入插入到每个元素中。可以使用
#include <iostream>
template <typename T>
void Len(T a[200])
{
std::cout<< sizeof(a) / sizeof(a[0])<<std::endl;
}
int main()
{
int a[300];
std::cout<<"Put the values of array you want."<<std::endl;
std::cin>>a;
std::cout<<"The number of occurrences of value in the array is";
Len(a);
}
你不能像那样输入数组,你必须一个接一个地读取每个条目(例如在一个循环中)。此外,当你把数组传递给一个函数时,当你在
Len
函数中执行sizeof(a)
时,你不会得到数组的大小,而是得到指针的大小(这将是8
或4
,具体取决于您是在64位还是32位平台上)。与其随机尝试代码,您应该从优秀的软件中学习。您不能像那样输入数组,您必须逐个读取每个条目(例如在循环中)。此外,如果将数组传递给函数,数组将衰减为指针,当您在Len
函数中执行sizeof(a)
时,将不会得到数组的大小,而是指针的大小(将是8
或4
,具体取决于您是在64位还是32位平台上)。与其随机尝试代码,你应该从一个好的方法中学习。我会在循环条件中添加文件结束或失败的检查。我知道我会厌倦在几个数字之后输入数字,输入300是非常多的,我只会按组合键。:)@JoachimPileborg我将输入添加到条件部分。这应该可以处理这些情况。我会在循环条件中添加一个文件结束或失败检查。我知道我只需输入几个数字就会厌倦输入数字,输入300太多了,我只需按platforms EOF组合键即可。:@JoachimPileborg我添加了输入到条件部分。该部分应处理这些情况。
template <typename T>
void Len(T a[200])
{
std::cout<< sizeof(a) / sizeof(a[0])<<std::endl;
}
template <typename T, typename size_t N>
size_t get_array_size(T (&)[N])
{
return N;
}