2017-09-01 3 views
-2

私はC++クラスの宿題をしていますが、私が間違っていることを理解できないようです。ここでC++で '/ n'文字を返す

は方向がある:

演習:read02

説明

この演習では、文字列から文字を取得する関数を作成しますが、指定されたインデックスがである場合にのみ、範囲。範囲外の場合は、改行文字を返します。

関数名

read02

パラメータ

str: a std::string 
index: a size_t 

戻り値

インデックスが範囲外である場合を除き、STRインデックスに格納された文字は、\ N。

std::string data = "hello"; 
size_t i = 3; 
char x = read02(data, i); 

ヒント

ストリングドキュメント ヘッダーファイルを含めることを忘れないでください。 size_tにはcstdlibヘッダーファイルが必要です。 size_tは符号なしです(> = 0の値のみが含まれます)。 '\ n'は、改行文字の文字定数です。ここで

は私が持っているものです。

error: multi-character character constant [-Werror=multichar] 
      return '/n'; 

どれ説明を、私はこのエラーを取得し、どのようにそれを修正するだろうよ理由として:

#include <string> 
#include <cstdlib> 

char read02(std::string str, size_t index){ 
    size_t i; 

    for(i = 0; i < str.size(); i++){ 
     if(index > 0 && index < str.size()){ 
      return str[index]; 
     } 
     else{ 
      return '/n'; 
     } 
    } 
    return 0; 
} 

そして、ここでは、私が取得していますエラーです大変感謝します。

ありがとうございます!

+0

https://msdn.microsoft.com/en-us/library/6aw8xdf2.aspx –

+0

問題は、あなたは説明がにあなたに言ったの文字を書いていないということです書きます。 – molbdnilo

答えて

5

単純に新しい行に間違ったスラッシュを使用しました。

return '\n' 

これは動作するはず

関連する問題