【发布时间】:2013-01-11 07:26:21
【问题描述】:
这是我正在使用的代码。我希望能够将所有输入传递给这个函数new_flight,除了一个空声明之外,目前没有其他代码。我正在尝试通过引用传递令牌,但我已经尝试使用 * & 并且只是按值传递,但似乎没有一个有效。
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
void new_flight( vector<string> &tokens );
int main( int argc, char *argv[] )
{
vector<string> tokens;
cout << "Reservations >> ";
getline(cin, input);
istringstream iss( input );
copy(istream_iterator<string>( iss ),
istream_iterator<string>(),
back_inserter<vector<string> > ( tokens ));
new_flight( tokens );
}
这是编译器告诉我的内容
Undefined symbols for architecture x86_64:
"new_flight(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)", referenced from:
_main in ccplPBEo.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
如果我注释掉我实际将令牌传递给 new_flight new_flight( tokens ) 的行,它编译得很好。
感谢观看
【问题讨论】:
-
你有没有实现
new_flight函数?
标签: c++ vector parameter-passing