Jump to content

  • Log In with Google      Sign In   
  • Create Account


CAREFiSH

Member Since 24 May 2012
Offline Last Active Dec 01 2012 10:56 AM

Topics I've Started

Noob question.

30 November 2012 - 06:00 PM

Hey there people from GameDev!

I'm a relatively new game developer, started learning C++ about 6 months ago. And I decided to do a simple string class exercise.
Now I'm running into a problem, I can't seem to get it to work without it crashing.
I'll post the pastebins for the code.
.h: http://pastebin.com/dbBWGDRV
.cpp: http://pastebin.com/tGSFz6K7
And finally, the main:
[source lang="cpp"]#include "CFString.h"#include <cstdlib>int main(int argc, char* args[]){ CFString bla = "hoi"; printf(bla); return 0;}[/source]
Now, it's crashing and I don't really understand why. Any pointers/hints?

EDIT:: I've tried to add a '0' after the strncpy, I've tried setting strdata to NULL.

Linker errors when using templates.

24 May 2012 - 02:43 AM

Hey there folks,

I've been sent here by a friend, he told me to post my problem here. Been trying to solve this for the past three days now. And I was following a books exercise, with the exception that I have seperate headers and cpp files, and this is my first attempt at using templates.
I've been having these linker errors, and they make no sense to me. I've double checked, not just once, not twice but thrice times!
What I've done is: check for the proper includes, check if I've implemented all the methods properly. And removed and added the file causing the errors in my project.
I've tried changing the code generation Multi-Threaded Debug DLL to Multi-Threaded Debug. And other types as well. I've tried going from Debug to Release.

The errors:


1>Stroustrupbookexercises.obj : error LNK2001: unresolved external symbol "public: __thiscall LinkedList<class Data>::LinkedList<class Data>(void)" (??0?$LinkedList@VData@@@@QAE@XZ)
1>Stroustrupbookexercises.obj : error LNK2001: unresolved external symbol "public: __thiscall LinkedList<class Data>::~LinkedList<class Data>(void)" (??1?$LinkedList@VData@@@@QAE@XZ)
1>Stroustrupbookexercises.obj : error LNK2001: unresolved external symbol "public: void __thiscall LinkedList<class Data>::insert(class Data *)" (?insert@?$LinkedList@VData@@@@QAEXPAVData@@@Z)
1>Stroustrupbookexercises.obj : error LNK2001: unresolved external symbol "public: void __thiscall LinkedList<class Data>::showAll(void)" (?showAll@?$LinkedList@VData@@@@QAEXXZ)
1>C:\Dropbox\C++ eBooks & Study Projects\Progress\Tim\Stroustrupbookexercises\Release\Stroustrupbookexercises.exe : fatal error LNK1120: 4 unresolved externals

//stdafx.h

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
#include <stdio.h>
// TODO: reference additional headers your program requires here
#include "LinkedList.h"
#include "Data.h"
#include "Node.h"
#include "InternalNode.h"
#include "TailNode.h"
#include "HeadNode.h"

#include <iostream>
enum { Smaller, Equal, Larger };
//Header
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#include "stdafx.h"
#include "HeadNode.h"
template <class T>
class LinkedList {
public:
  LinkedList();
  ~LinkedList();
  void insert(T* data);
  void showAll();
private:
  HeadNode<T> * head;
};
#endif
//Class
#include "stdafx.h"
template <class T>
LinkedList<T>::LinkedList(){
head = new HeadNode<T>;
}template <class T>
LinkedList<T>::~LinkedList(){
delete head;
}
template <class T>
void LinkedList<T>::insert(T* data){
head->insert(data);
}template <class T>
void LinkedList<T>::showAll() {
head->show();
}

PARTNERS