嗨,我讀了關於未定義引用的其他問題和答案。但仍然無法找出我的代碼有什麼問題。我有一個簡單的鏈表列表代碼,其中我將整數添加到尾部,然後顯示它們。這裏是我的代碼 「head.h」未定義的函數引用(鏈接器錯誤)
#ifndef __HEAD_H_INCLUDE
#define __HEAD_H_INCLUDE
class Node {
int info;
Node *next;
};
class imple {
public:
imple();
void addToTail(int);
void display(void);
private:
Node *head,*tail;
};
#endif
「implementaion.cpp」
#include<iostream>
#include "head.h"
imple::imple(){
head=tail=0;
}
void imple::addToTail(int key){
if(tail==0)
{tail=head=new Node();
info=key;next=0;}
else
{
tail->next=new Node();
info=key;next=0;
tail=tail->next;
}
}
void imple::display(){
Node *temp;
for(temp=head;temp->next !=0;temp=temp->next)
{
std::cout<<temp->info << " ";
}
}
「的main.cpp」
#include<iostream>
#include "head.h"
int main(){
Node node;
imple ab;
for(int i=0;i<5;i++)
ab.addToTail(i);
ab.display();
}
每次我編譯我得到這個錯誤
「/tmp/cc20Z1ZH.o:功能main': lmain.cpp:(.text+0x10): undefined reference to
imple :: imple()' lmain.cpp :(文字+ 0x2a):未定義參考imple::addToTail(int)' lmain.cpp:(.text+0x45): undefined reference to
imple ::顯示器()」 collect2:LD返回1個退出狀態」
您的答案和建議,將有助於
鏈接在一起你怎麼編?什麼是編譯命令行? – fritzone
你的命令行是什麼樣的?你真的在編譯'implementationaion.cpp'嗎? –
使用g ++ main.cpp – Hemanth