Şablonlarla pek çok deneyimim yok, fakat ben de hareket halindeyken öğrenmeye çalışıyorum, bu yüzden birisi bana bu işi yapmak için ne yapmam gerektiğini söyleyebilsin, çünkü typenames ve açık lansman ve açık uzmanlık kullanma örnekleri çok ama sadece int, char, ... gibi temel türleri içerir. Bu yüzden lütfen yardım edin çünkü ne yapacağımı anlamıyorum.C + + Sınıfı Sınıf Üyesi Sınıfı
Container.h
#ifndef CONTAINER_H
#define CONTAINER_H
template <typename E>
class Container
{
private:
E element;
public:
Container(E pElement);
virtual ~Container();
};
#endif // CONTAINER_H
Container.cpp
#include "Container.h"
#include "Piece.h"
template class Container<Piece>;
template <typename E>
Container<E>::Container(E pElement) //Error Here;
{
element=pElement;
}
Piece.h
#ifndef PIECE_H
#define PIECE_H
#include <iostream>
#include <string>
using namespace std;
class Piece
{
private:
int x;
int y;
string z;
public:
Piece(int pX,int pY, string pZ);
virtual ~Piece();
};
#endif // PIECE_H
Piece.cpp
#include "Piece.h"
Piece::Piece(int pX, int pY, string pZ){
x=pX;
y=pY;
z=pZ;
}
Ve alıyorum hata şudur:
src\Container.cpp|7|error: no matching function for call to 'Piece::Piece()'|
src\Container.cpp|7|note: candidates are:|
src\Piece.cpp|3|note: Piece::Piece(int, int, std::string)|
src\Piece.cpp|3|note: candidate expects 3 arguments, 0 provided|
include\Piece.h|8|note: Piece::Piece(const Piece&)|
include\Piece.h|8|note: Piece::Piece(const Piece&)|
Ve ben işlerin yapmak için orada yapmam gerektiğini bilmiyorum. Lütfen yardım et.
Kullanmak için kesinlikle kullanacaksanız, bir başlık dosyasında '' namespace std; 'komutunu kullanmayın. –
, Parça varsayılanını ekleyin, (yeni kurucu ekleyin veya varolan değişkenler için varsayılan değerler ekleyin). Ayrıca desctructor uygulaması hakkında unuttuğunuz gibi görünüyor – jonezq
As @ jonezq bir varsayılan kurucu eklemeniz gerektiğini belirtir, bkz. [Bir derleyici tarafından derleyici tarafından oluşturulan tüm üye işlevleri nelerdir? Bu her zaman olur mu?] (Http://stackoverflow.com/questions/3734247/what-are-all-the-member-functions-created-by-compiler-for-a-class-does-that-hap). –