#include<iostream> #include<vector> using namespace std; template<typename T> void print1(T &container) { for (int i = 0;i <container.size(); i++) { cout << container[i] << " "; ; } cout << endl; } int main() { int a[5] = { 1,2,3,4,5 }; vector<int> b = { 1,2,3,4,5 }; cout << "输出a" << std::endl; print1(a); cout << "输出b" << std::endl; print1(b); }修改正确
时间: 2024-03-06 22:50:05 浏览: 63
#include_iostream.h_
4星 · 用户满意度95%
您好,根据您的代码,需要做以下修改才能正确输出:
1.将函数print1()中的for循环的循环变量i改为unsigned或者size_t类型,以避免i小于0的情况。
2.将函数print1()中的循环体中多余的分号去掉。
修改后的代码如下:
```
#include<iostream>
#include<vector>
using namespace std;
template<typename T>
void print1(T &container)
{
for (unsigned i = 0; i < container.size(); i++)
{
cout << container[i] << " ";
}
cout << endl;
}
int main()
{
int a[5] = { 1,2,3,4,5 };
vector<int> b = { 1,2,3,4,5 };
cout << "输出a" << std::endl;
print1(a);
cout << "输出b" << std::endl;
print1(b);
return 0;
}
```
这样就可以正确输出数组a和向量b的元素了。
阅读全文