Just nu i M3-nätverket
Jump to content

Linked list problem


stonnew

Recommended Posts

Jag kan inte komma på vad jag gör för fel här?

 

Får följande felmeddelanden:

Error 1 error C2440: '=' : cannot convert from 'p_node *' to 'int'

Error 2 error C2227: left of '->fname' must point to class/struct/union/generic type

 

Error 2 är ju förklarligt eftersom error 1 uppkommer.

 

Men hur ska jag kunna få en temporär(temp)? Detta är en av "functions" där jag skapar en "linked list".

 

Tycker det fanns bra hjälp på denna länken http://richardbowles.tripod.com/cpp/linklist/linklist.htm

 

Men jag förstår inte riktigt det med temp = new node? Eller i mitt fall är det p_node.

 

 

p_node * person_add(void)
{

	int* start_ptr = NULL;

	int *temp = NULL;

	*temp = new p_node;

	cout << "Enter firt name: " << endl;
	cin >> temp -> fname;

}

Link to comment
Share on other sites

Hej,

Eftersom du använder dig av en C++ kompilator, bör du allvarligt fundera över varför du vill implementera en egen länkad lista på C-vis.

C++'s STL (Standard Template Library) innehåller kraftfull, vältestad och återanvändbar kod, bland annat länkade listor.

 

Se exempelvis:

http://www.cppreference.com/wiki/start

eller sök C++ STL på Google

 

Med STL kan du enkelt skapa listor av egendefinierade objekt exempelvis så här:

 

#include <list>
#include <iostream>

class TNode
{
public:
std::string Name;
unsigned int Age;
unsigned int Height;

TNode() : Age(0), Height(0)
{
	// Empty 
}
};

typedef std::list<TNode> TNodeList;

int main()
{
TNodeList nodeList;
TNode n; 
while (true) {
std::cout << "Enter name (type x to exit): ";
std::cin >> n.Name;
if (n.Name == "x") {
	break;
}
	std::cout << "Age: ";
	std::cin >> n.Age;
	std::cout << "Height: ";
	std::cin >> n.Height;
	nodeList.push_back(n);
}

for (TNodeList::iterator i = nodeList.begin(); i != nodeList.end(); ++i) {
std::cout << "Name: " << i->Name << std::endl
	<< "Age : " << i->Age << std::endl
	<< "Height: " << i->Height << std::endl << std::endl;
}
}

 

Indenteringen blev åt skogen här i rutan, hoppas det går att läsa ändå...

 

Hoppas det hjälpte!

Link to comment
Share on other sites

Hej,

Eftersom du använder dig av en C++ kompilator, bör du allvarligt fundera över varför du vill implementera en egen länkad lista på C-vis.

C++'s STL (Standard Template Library) innehåller kraftfull, vältestad och återanvändbar kod, bland annat länkade listor.

 

...................

 

Hoppas det hjälpte!

 

Det har framförallt med att göra att jag är nybörjare på C++ och det hör till en uppgift i pluggandet att skapa den på det sättet.

 

Men jag har löst problemet pointern.

 

Det jag har kommit till är hur man ska kunna anropa en funktion så att man som användare av programmet får skriva in till exempel ett namn som sparas.

 

Här har jag en tråd till angående problemet:

http://www.cplusplus.com/forum/beginner/20662/

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...