gpt4 book ai didi

c++ - undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:27:28 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
C++ templates, undefined reference

我有一个非常简单的程序,由三个文件组成,它从普通数组构建 vector :

//create.hpp

#ifndef CREATE_HPP_
#define CREATE_HPP_

#include <vector>

using namespace std;

template<class T>
vector<T> create_list(T uarray[], size_t size);

#endif /* CREATE_HPP_ */

//create.cpp

#include "create.hpp"

template<class T>
vector<T> create_list(T uarray[], size_t size){
vector<T> ulist(uarray, uarray + size);
return ulist;
}

//main.cpp

#include <vector>
#include <iostream>

#include "create.hpp"

using namespace std;


int main(){
char temp[] = { '/', '>' };
vector<char> uvec = create_list<char>(temp, 2);

vector<char>::iterator iter=uvec.begin();
for(;iter != uvec.end();iter++){
cout<<*iter<<endl;
}

return 0;
}

构建过程如下:

g++ -O0 -g3 -Wall -c -fmessage-length=0 -o create.o create.cpp
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o main.o main.cpp
g++ -o main.exe main.o create.o

在构建程序时,出现此错误:

main.o: In function `main':
../main.cpp:18: undefined reference to `std::vector<char, std::allocator<char> > create_list<char>(char*, unsigned int)'

这个程序真的很简单。但是,编译成功通过了,但是链接失败了。然后我将所有代码移到一个文件中,一切都很顺利。谁能帮我解决这个问题?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com