I compiled my code using Borland 5.5 and there was no errors that popped up. But it ll didn't run correctly so I decided to use Visual Studio 2010 to debug my program.
Visual studio is giving me this error :
Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\johnny\documents\visual studio 2010\projects\stack_linkedlist\stack_linkedlist\classstack.cpp 111 1 STACK_LinkedList
It is pointing to my operator overload function. Here is the code to my operator overload.
//operator overload
template <class S>
const Stack<S>::operator=( const Stack& s )
{
// Check for self assignment
if (&s==this)
return *this;
// Clear the current stack
while (s.theFront)
{
NodePointer p = s.theFront;
s.theFront = s.theFront->next;
delete p;
}
s.theTop = s.theFront;
// Copy all data from stack s
if (!s.isEmpty())
{
NodePointer temp = q->theFront;
while(temp != 0)
{
push(temp->data);
temp = temp->next;
}
}
return *this;
}
Any help would be awesome! Thanks!
There is no return type defined for your operator.
const Stack<S>::operator=( const Stack& s )
should be changed to :
const Stack<S>& Stack<S>::operator=( const Stack& s )
Your method is missing the return type. Try this instead:
template <class S>
const Stack<S>& Stack<S>::operator=( const Stack& s )
{
// body of method
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With