2015-10-17 63 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

相关问题