2015-10-17 93 views
0

在我的C++項目中,我有3個文件,它們是main.cpp,functions.cpp和functions.h。另一個函數的輸出

functions.cpp:

#include <functions.h> 

using namespace std; 

int ascii(string text) 
{ 
    vector<int> tab; 

    for(int i=0; i<text.length(); i++) 
    { 
     char x = text.at(i); 
     tab.push_back(x); 
    } 

    for(int k=0; k<tab.size(); k++) 
    { 
     cout << tab[k] << endl; 
    } 
} 

functions.h:

#ifndef FUNCTIONS_H_INCLUDED 
#define FUNCTIONS_H_INCLUDED 

#include <iostream> 
#include <string> 
#include <vector> 

int ascii(std::string text); 

#endif // FUNCTIONS_H_INCLUDED 

main.cpp中:

#include <functions.h> 

using namespace std; 

int main() 
{ 
    string plaintext; 
    cout << "Enter text : "; 
    ws(cin); 
    getline(cin, plaintext); 

    ascii(plaintext); 

    return 0; 
} 

正如你可以看到,該值被存儲在一個陣列中functions.cpp文件。

如何將函數從functions.cpp「移動」到main.cpp中,以便我可以處理這些數據?

回答

1

一種方法是做到以下

functions.cpp

using namespace std; 

vector<int> ascii(string text) // original: int ascii(string text) 
{ 
    vector<int> tab; 

    for(int i=0; i<text.length(); i++) 
    { 
     char x = text.at(i); 
     tab.push_back(x); 
    } 

    for(int k=0; k<tab.size(); k++) 
    { 
     cout << tab[k] << endl; 
    } 

    return tab; // original: no return 
} 

functions.h

#ifndef FUNCTIONS_H_INCLUDED 
#define FUNCTIONS_H_INCLUDED 

#include <iostream> 
#include <string> 
#include <vector> 

std::vector<int> ascii(std::string text); // original int ascii(std::string text) 

#endif // FUNCTIONS_H_INCLUDED 

的main.cpp

#include <functions.h> 

using namespace std; 

int main() 
{ 
    string plaintext; 
    cout << "Enter text : "; 
    ws(cin); 
    getline(cin, plaintext); 

    vector<int> returning = ascii(plaintext); // original: ascii(plaintext) 

    return 0; 
} 
+0

我試圖做這樣的,但問題是這樣的: ' main.cpp:12:44:錯誤:從'int'轉換爲非標量類型'std :: vector '請求 ' – Lulzsec

+0

而不是'int ascii(字符串文本)'你必須把'vector ascii(字符串文本)'我剛剛嘗試過,它工作。 – 2015-10-17 02:40:19

+0

同樣的錯誤:'main.cpp:在函數'int main()'中: main.cpp:12:44:錯誤:從'int'轉換爲非標量類型'std :: vector '請求 ' – Lulzsec

相關問題