Страница 1 из 1

Исправьте ошибку в функции

Добавлено: 24 ноя 2010, 19:06
Lotles
Помогите тут
На строке return new_str выдает ошибку error C2059: syntax error : 'return'

Код: Выделить всё

      #include "stdafx.h"
      #include <conio.h>
      using namespace std;
	  char* new_str=new char[50];
	  char* copy(){
		  char ch;
		  do{
		  ch=getchar();
		  for(int i=0;ch!=10;i++)
		  new_str[i]=ch;
		  while(ch!=10);
	  }
		  return new_str;
	  }
	  void main(){
		  copy();
	  }


Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 11:16
Albor
Нет закрывающей фигурной скобки перед while. Такие ошибки необходимо самому находить.

Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 11:22
BBB
Albor писал(а):Нет закрывающей фигурной скобки перед while. Такие ошибки необходимо самому находить.
"Не то, чтобы ты совсем не попал, Пятачок, но ты не попал по шарику" (c) :)
Это я к тому, что в предлагаемом тексте фигурная скобка, которая должна стоять перед while, чуть "сдвинулась" и стоит после while.

Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 13:29
Albor
BBB писал(а): Это я к тому, что в предлагаемом тексте фигурная скобка, которая должна стоять перед while, чуть "сдвинулась" и стоит после while.
Ну, в данном случае Винипух сам виноват - не в том месте завис. :)

Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 18:53
Lotles
псб
Я невн-ый

Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 19:57
Lotles
Тут еще помогите

Код: Выделить всё

while(i<strlen(str)){
	if (strchar(delim,str[i]))
'strchar': identifier not found, even with argument-dependent lookup


Код: Выделить всё

#include "stdafx.h"
#include <conio.h>
using namespace std;
char* str=new char[50];
	
char* copy(){
	char ch;
	do{
		for(int i=0;ch!=10;i++){
			ch=getchar();
			str[i]=ch;
		}
	}
	while(ch!=10);
return str;
	}

char* editing(char* delim){
char* new_str=new char[50];
int i = 0; 
while(i<strlen(str)){
	if (strchar(delim,str[i]))
		i++;
	else
		new_str[i]=str[i];
}
cout << new_str << endl;
return new_str;
}


int main(){
char* str;
copy();
char* d=" ";
editing(d);
return 0;
}

Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 19:59
Lotles
Тут еще помогите

Код: Выделить всё

while(i<strlen(str)){
	if (strchar(delim,str[i]))
'strchar': identifier not found, even with argument-dependent lookup
warning C4018: '<' : signed/unsigned mismatch



Код: Выделить всё

#include "stdafx.h"
#include <conio.h>
using namespace std;
char* str=new char[50];
	
char* copy(){
	char ch;
	do{
		for(int i=0;ch!=10;i++){
			ch=getchar();
			str[i]=ch;
		}
	}
	while(ch!=10);
return str;
	}

char* editing(char* delim){
char* new_str=new char[50];
int i = 0; 
while(i<strlen(str)){
	if (strchar(delim,str[i]))
		i++;
	else
		new_str[i]=str[i];
}
cout << new_str << endl;
return new_str;
}


int main(){
char* str;
copy();
char* d=" ";
editing(d);
return 0;
}

Re: Исправьте ошибку в функции

Добавлено: 25 ноя 2010, 21:13
Lotles
все не надо