代码块x86_64体系结构的未定义符号:
问题描述:
C++新手,我正在尝试学习MacOSX上的代码块。我已经看到这个问题有很多问题,但是通常看起来答案是编码本身的问题。但是这个问题会随着程序的最简单而随机弹出,而且通常不会改变代码。代码块x86_64体系结构的未定义符号:
下面是我遇到的问题。
#include <iostream>
#include <vector>
#include <string>
using namespace::std;
void TT_Default(vector<string> board);
void TT_Display(vector<string>& rboard);
int main()
{
vector<string> board;
vector<string>& rboard=board;
TT_Default(rboard);
for (vector<string>::iterator iter=board.begin(); iter<board.end(); ++iter)
{
cout << '\n' << *iter << endl;
};
return 0;
}
void TT_Default(vector<string>& rboard)
{
rboard.push_back("NW");
rboard.push_back("N");
rboard.push_back("NE");
rboard.push_back("W");
rboard.push_back("C");
rboard.push_back("E");
rboard.push_back("SW");
rboard.push_back("S");
rboard.push_back("SE");
}
答
你有声明和定义TT_Default
。
在声明你使用:
void TT_Default(vector<string> board);
在定义你使用:
void TT_Default(vector<string>& rboard)
你必须让他们一样。为您的目的,使声明接受参考,vector<string>&
。这解决了这个问题。
C不是C++不是C! – Olaf
你能详细说说吗? – shortikid12