當前位置:編程學習大全網 - 編程軟體 - 為什麽我的結構中不能用string類呢?幫忙指點壹下吧

為什麽我的結構中不能用string類呢?幫忙指點壹下吧

分類: 電腦/網絡 >> 程序設計 >> 其他編程語言

問題描述:

#include <iostream>

#include <string>

using namespace std;

struct mystruct

{

string my_str;

}

main()

{

mystruct one=

{

"zhao"

};

mystruct o=

{

"xiao"

};

cout<<one.my_str+o.my_str<<endl;

}

error C2552: 'one' : non-aggregates cannot be initialized with initializer list

解析:

struct 在c++裏,只是若幹個多種數據類型數據的壹個 *** 體。類似於class,不同之處在於struct裏不能定義任何功能函數。

使用struct的時候,和可直接把它看作變量就可以了。

樓主初始化的過程是錯誤的。不可以這樣對struct類型負值。因為若mystruct中有多個string變量my_str, my_str2, my_str3.....,那麽

mystruct one= {"zhao"}; 壹句中的"zhao"到底應該負給那個變量呢?

struct 類型可如下使用:

mystruct one; 聲明了壹個mystruct類型的變量 one

mystruct o; 聲明了壹個mystruct類型的變量 o

one.my_str = "zhao"; 對one中的my_str變量負值

o.my_str = "xiao"; 對o中的my_str變量負值

  • 上一篇:口袋妖怪葉綠版的5島倉庫的密碼在哪學
  • 下一篇:高中畢業去自學C語言到底有出路麽?
  • copyright 2024編程學習大全網