
strcpyでnamに文字をコピーしてそれを表示させたいのですが なかなか出来ません。
strcpyはコンストラクタ内が決まりです。
namを返すメンバ関数を作りたいのですが色々エラーが出てしまいます。
#include <iostream>
#include <string.h>
using namespace std;
class aaa{
private:
char nam[100];
public:
aaa();
char name();
};
aaa::aaa(){
strcpy(nam,"あいうえお");
}
char aaa::name(){
return nam;
}
int main()
{
aaa a;
cout<<a.name()<<endl;
return 0;
}

No.2ベストアンサー
- 回答日時:
まず、「エラーの意味がわからないので、それらしくソースを直してみる」ということは、絶対にやってはならないことです。
こういう癖をつけたプログラマは、「なんかわからないけど動く」という、本質的な部分にバグを含んだプログラムを作って、周りの皆さんに迷惑をかけます。
あと、提示されたソースからは、
「strcpyの宣言云々」というエラーは出ないはずです。
既に、「いろいろなエラー」がでて、あちこち適当に直した後なのだろうと思います。
そもそも char :::name() には元々引数がない(関数に渡す情報がない)のに、char *name(char *nam[]); と引数をつけてみるというのも、やってはいけないことです。
さて、 return nam というのが、「本当に意図するところ」なら、nam の型(または、それを変換可能な型)が関数の型になります。
nam を返すのですね?
nam は、char ではなくて、char の配列です。
で、これまでの練習問題を見直して、char の配列(それこそ、名前とか)を返す関数が、どういう型になっているのかを確認してみてください。
No.1
- 回答日時:
> 色々エラーが出てしまいます。
具体的にはどんな?
そして、その内容を理解しようとしましたか?
少なくとも、 戻り値がchar だと宣言した関数から、 charの配列(の先頭要素へのポインタ) を return しようとすれば、エラーになるのは当然の結果です。
strcpyの宣言を確認してください
'return' : 'char [100]' から 'char' に変換できません。
このようなエラーが出ました。
すみません エラー理解できてないです
関数のプロトタイプ宣言の部分をchar *name(char *nam[]);このように書き換えて、関数の部分を
char aaa::name(char *nam[]){
return nam;
}
と書いたりしたのですが、構文エラーみたいで...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
C言語のintとcharの違いってな...
-
char型にint型の数値を代入する。
-
C言語にて構造体のメンバがNULL...
-
fgetc( )の戻り値はなぜ整数??
-
char 文字列型 の表現範囲が-12...
-
fstream型オブジェクトを関数の...
-
C++17で、unsigned char * 配列...
-
DWORDとcharの変換
-
文字列内の数字削除
-
new charとnew char[N]の違いは?
-
文字型配列に格納した空白の切捨て
-
C++Builder 2009 テキスト...
-
csvファイルをfscanfで読み込む...
-
文字列の途中から途中までを抽出
-
[C] 構造体メンバーのカンマ区...
-
エクセルのMID関数は、C言語では?
-
小数点入りの文字列をfloat型に...
-
wsprintf( ポインタ , "%d" , "...
おすすめ情報