2014-03-01 27 views
0

我正在研究一个程序,该程序可以将所有给定的数字都可以被特定数字整除。交换可分割数字并获取声明无效错误

例如: input =“13694097” divisible number = 3; 在输入中可以被3整除的数字是:3,6,9,9。因此,相反应为9,9,6,3。如果我们替换当前数组中的那个,那么我们得到: ouput =“19964037”

这里是程序的代码。我试图建立prorgram但我不断收到以下错误:

#include <iostream> 

using namespace std; 

int convert_to_int(char s) 
{ 
    return s - '0'; 
} 

void reverse_string(char *string, int length, int number) 
{ 

    char *start = string; 
    char *end = string+length-1; 

    while(true) 
    { 

     while((convert_to_int(*start) % number) != 0) { 
      start++; 
     } 

     while((convert_to_int(*end) % number) != 0) { 
      end--; 
     } 

     if(start >= end) 
      break; 
     else 
     { 
      // Swap numbers 
      char temp = *start; 
      *start = *end; 
      *end = temp; 
     } 
    } 

    return; 

} 

int main() 
{ 
    cout << "Hello World" << endl; 

    char input[] = "1253486794"; 

    void reverse_string(input, 10, 3); 

    return 0; 
} 

错误输出:编译源代码....

$g++ -std=c++11 main.cpp -o demo -lm -pthread -lgmpxx -lgmp -lreadline 2>&1 
main.cpp: In function 'int main()': 
main.cpp:45:24: error: variable or field 'reverse_string' declared void 
    void reverse_string(input, 10, 3); 
        ^

如何这个错误是固定的?

回答

5

变化

void reverse_string(input, 10, 3); 

reverse_string(input, 10, 3); 
相关问题