【发布时间】:2011-12-06 20:18:55
【问题描述】:
我不知道我做错了什么这是我第一次分离 .cpp 文件并使用模板和向量。我不断收到这两个错误:错误 C2143:语法错误:在 '
main.cpp
#include <iostream>
#include <vector>
using namespace std;
template <typename T>
void write_vector(const vector<T>& V);
int main()
{
int n;
int value;
vector<int> V;
cout << "Enter n: ";
cin >> n;
cout << "Enter " << n << " integer values: ";
while(V.size() < n && cin >> value){
V.push_back(value);
}
write_vector(V);
return 0;
}
writeVector.cpp
template <typename T>
void write_vector(const vector<T> &V)
{
for(int i=0; i < V.size(); i++)
cout << V[i] << " ";
}
【问题讨论】:
-
您是#include
还是显式实例化该函数?你的问题缺乏细节。 -
在哪里包含 writeVector.cpp?- 它最终应该包含在 main.cpp 中,因为模板不能单独编译为目标文件。您在哪一行收到错误?
标签: c++ file templates vector header-files