2012-12-02 44 views
-7

如何從一個函數向另一個函數發送值?將值從一個函數傳遞到另一個函數

我有這樣的例子:

/* Include files */ 
#include <iostream> 
#include <string> 
#include <limits> 
#include <sqlca.h> 
#include <sqlcpr.h> 
#include <iomanip> 
#include <conio.h> // ntuk password masking 


/* Declaration of functions and constants used */ 
#include "Functions.h" 

using namespace std; 

void fnMainMenu(); 

void fnLogin() 
{ 
char data[6] = "hello"; 
fnMainMenu(); // call Main Menu and I want to pass "hello" 

} 

void fnMainMenu() 
{ 
cout << "I want to display hello here?"; 
} 

int main() 
{ 

    fnLogin(); 
    return 0; 
} 

我該怎麼辦呢?我從網上找到的教程解釋了主要數據。提前致謝。

+4

請花一些時間用一本好的C++教科書,熟悉一下編程和C++的基礎知識。我們有一個不錯的[推薦書籍列表](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 –

+0

我很欣賞你的建議。 – sg552

回答

2

您可以將對象作爲參數傳遞給函數。這裏,fnMainMenu取爲恆定std::string對象的引用作爲參數,並打印出來到stdout:

void fnMainMenu(const std::string& msg) 
{ 
    std::cout << msg << "\n"; 
} 

然後fnLogin()可以調用函數,並將它傳遞任何字符串它喜歡:

void fnLogin() 
{ 
    std::string s = "hello"; 
    fnMainMenu(s); // call Main Menu and I want to pass "hello" 

} 
+0

感謝您的回覆。不幸的是我現在有這個錯誤:'錯誤C2660:'fnMainMenu':函數不帶1個參數'。這是爲什麼?請幫幫我。謝謝。 – sg552

+0

@ sg552函數聲明必須符合定義:'void fnMainMenu(const std :: string&);'。你也需要'#include '。 – juanchopanza

+0

我感謝您的回覆。我包括'#include ',同樣的錯誤仍然存​​在?謝謝,請幫助我。 – sg552

1
#include <iostream> 
using namespace std; 

void fnMainMenu(char *s) 
{ 
cout << s; 
} 


void fnLogin() 
{ 
char data[]="hellow"; 
fnMainMenu(data); // call Main Menu and I want to pass "hello" 
} 



int main(){ 
fnLogin(); 

} 
+0

我很感激你的回覆。這個很容易理解。謝謝。 – sg552

+0

'fnMainMenu(data)'返回一個指向char數組'data'的指針。然後使用char指針的參數定義'void fnMainMenu(char * s)'。這裏指針's'指向char數組'data'。 –

相關問題