架构x86_64的代码块未定义符号: 新到C++,我试图在Mac上的代码块上学习。我已经看到这个问题被问了很多次,但是答案似乎常常是编码本身。但是这个问题会在制作最简单的程序时随机出现,通常不会更改代码

架构x86_64的代码块未定义符号: 新到C++,我试图在Mac上的代码块上学习。我已经看到这个问题被问了很多次,但是答案似乎常常是编码本身。但是这个问题会在制作最简单的程序时随机出现,通常不会更改代码,c++,vector,codeblocks,C++,Vector,Codeblocks,下面是我遇到问题的代码 #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

下面是我遇到问题的代码

#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");
}
#包括
#包括
#包括
使用namespace::std;
无效TT_默认值(矢量板);
无效TT_显示(矢量和rboard);
int main()
{
矢量板;
向量&rboard=板;
TT_默认值(rboard);
对于(vector::iterator iter=board.begin();iter您有一个
TT_Default
的声明和定义

在您使用的声明中:

void TT_默认值(矢量板);
在您使用的定义中:

void TT_默认值(向量和卡片)

你必须使它们相同。为了你的目的,让声明接受引用,<代码> vector和<代码>。这解决了问题。

C不是C++不是C!
void TT_Default(vector<string> board);
void TT_Default(vector<string>& rboard)