2014-10-20 83 views
-1

我想爲來自結構成員的全局聲明變量賦值。爲結構中的變量賦值

這裏是我的代碼:

#include<iostream.h> 
#include<conio.h> 
#include<string.h> 
char question[15]; 

struct place{ 
    char name[15]; 
    int length; 
}aa={"Paris",5}; 

void places() 
{ 
    question[15]=aa.name[15]; 

} 

main() 
{ 
    clrscr(); 
    places(); 
    cout<<question; 
    getch(); 
    return 0; 
} 

希望有人能幫助!

+0

你到底想幹什麼?你能澄清嗎? BTW C++!= C. – yizzlez 2014-10-20 14:01:07

+2

'question [15] = aa.name [15];' - >'strcpy(question,aa.name);' – BLUEPIXY 2014-10-20 14:01:46

+1

這是使用C++風格已經過時超過15年份。你可以免費獲得一個現代編譯器。 – 2014-10-20 14:01:54

回答

0

首先 - 你應該停止使用的Turbo C++,它不再支持,並且是一個過時的實現的C++。 (你會學壞編碼技術)

這裏是你可以下載一個free modern compiler _AND_ development environment全方位...,HERE是另一個地方。

關於你的問題
您不能使用=操作,使字符數組賦值爲你places()都試過了。你需要成爲家喻戶曉的人,他們可以是string functions。對於您在void places()功能中進行的分配,可以使用strcpy()

變化:

question[15]=aa.name[15];//Not correct. The variables have already been 
         //created, do not include array operator here `[]` 

要:

strcpy(question, aa.name);