-2

这是我的代码,我试图创建自己的字符串类,但我被困在这里......我的老师不好:/好吧我有很多错误,但我想知道为什么这个错误出现“无效的预处理指令#ifndef_CADENA_H”

#include <iostream>
#include <cstdlib>
#ifndef_CADENA_H
#define_CADENA_H
    class cadena {
		char* Ptrcad;
		int tam;
		
		public :
			
		cadena(void);
		char* get(void);
		void set(*char**)
		int longitud;
		~ Cadena (void);
	};
	Cadena :: Cadena(){
		Ptrcad = NULL;
		tam = 0;
	}
	char* Cadena :: get(){
		return Ptrcad;
	}
	void Cadena :: set(const char* x){
		while(*(x+tam)!='\0'){
			tam++;
		}
		Ptrcad = new char (tam);
		for(int i=0;i<tam;i++){
			*(Ptrcad +i)= *(x+i);
		}
	} 

int Cadena :: longitud(){
	return tam;
}
	Cadena :: ~ Cadena(){
		delete [] Ptrcad;
		tam =0;
	}

4

1 回答 1

2

因为我相信下划线。应该是#ifndef CADENA_H#define CADENA_H。除非您想在名称中保留下划线(在这种情况下不推荐),否则它应该是#ifndef _CADENA_H并且#define _CADENA_H

于 2014-10-12T04:50:28.587 回答