我在下面的程序中遇到了一些问题,程序使用链表来实现一个堆栈,我没有在这里显示所有的代码,因为代码很好,但是我遇到的问题是与不同的文件链接在一起。C++链接器错误
我使用IDE以运行该程序。当运行TestIntStacks.cpp
,主要方法应该调用test()
从StackFunctions.cpp
,测试功能(在StackFunctions.cpp
定义),使用TestStack
类的方法 目前,我收到一个错误,说“链接器错误,推/流行未定义”我做错了什么?我敢肯定这是一个名称空间。
MyStack.h
-------------------------------------
namespace A
{
class Node{
public :
char data;
StackNode* link;
StackNode(int v=0): data(v), link(NULL){ }
};
class MyStack{
private:
Node * top;
public:
MyStack():top(NULL){ }
void push(int c);
};
}//namespace
//TestStack.cpp
--------------------------------------------------------------
#include "MyStack.h"
namespace A
{
void MyStack::push(int x)
{
StackNode *temp = new StackNode(x);
temp->link = top;
top = temp;
}
}
//StackFunctions.cpp
-----------------------------------------------------------
#include <iostream>
#include "TestStack.h"
using namespace std;
using namespace A;
void test()
{
MyStack st;
st.push(1);
st.push(2);
st.push(3);
st.push(4);
}
// TestIntStacks.cpp
----------------------------------------------------------------
// Code for testing the TestStack
// from the A namespace.
#include <iostream>
#include <vector>
using namespace std;
#include "TestStack"
#include "StackFunctions.cpp"
void test();
int main()
{
test();
system("pause");
return 0;
}
不确定它是否与名称空间有关。展示如何构建该程序以及如何在StackFunction.cpp中使用此类可能会帮助人们帮助您。 – MHC 2011-02-18 18:50:54
你有错误,你认为你的代码没问题。不是。向我们提供您的代码,以便我们可以告诉您代码中哪里错了。 – wheaties 2011-02-18 18:51:04
什么是链接器命令?发送链接器运行的内容 – 2011-02-18 18:56:33