2011-07-16 11 views
0

DBユーザーを返してパスするための単純なライブラリをプログラミングしています。これはすべて正常に動作します。しかし、私はすでに完成したCアプリを持っています。新しい値(ユーザとパス)をすべての可能な関数に入れずに調整したいのです。だから、私は彼らをグローバルにするだけだと思った。 (私のint型の主の前にそうC:関数の戻り値でグローバル変数を作成する

)私は

const char * mySQLUsername = getMySQLPassword(); 
const char * mySQLPassword = getMySQLUsername(); 

を持っている。しかし、それは機能だから、私のコンパイラは不平を言っている:

error: initializer element is not constant 

私はしなくても、この問題を回避するにはどうすればよいですどこにでも余分なコードを入れますか?

答えて

3

mainで行う最初の操作として、イニシャライザで関数を実行するだけです。

//... 
const char * mySQLUsername; 
//... 

int main(int argc, char **argv){ 
    // variable declarations, etc. 

    mySQLUsername = getMySQLUsername(); 

    //... 

または代わりに、関数内でintializersを置く:

//... 
const char * mySQLUsername; 
//... 

void initGlobalVars(){ 
    mySQLUsername = getMySQLUsername(); 
    //...others... 
} 

int main(int argc, char **argv){ 
    // variable declarations 
    initGlobalVars(); 
    //... 
+0

私は疲れてる:-) ..おかげマーク。 –

関連する問題