标题:求助C++的语法!
只看楼主
知白守黑
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-12
结帖率:66.67%
已结贴  问题点数:10 回复次数:3 
求助C++的语法!
#include<iostream>
using namespace std;
class A
{
public:
    int h[]={2,1,5,3,4};
    void sf(int a[],int n)
    {
    int i,j;
    int temp;
    for( i=1;i<n;i++)
    {
    int j=i;
    int temp=a[i];
    while(j>0 &&temp<a[j-1]){
    a[j]=a[j-1];
    j--;
    }
    a[j]=temp;
    for(int k=0;k<n;k++)
        cout<<a[k]<<" ";
    cout<<endl;
    }
}

};
void main()
{
    A::sf(h,5);
}


E:\C++\09.cpp(6) : error C2059: syntax error : '{'
E:\C++\09.cpp(6) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
请问这是什么问题,,为什么定义数组是语法错误的??
搜索更多相关主题的帖子: include public 
2016-12-20 10:48
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
得分:10 
回复 楼主 知白守黑
我就先在你的源代码里面指出你的问题,然后再告诉你如何修改:



程序代码:
#include<iostream>
using namespace std;
class A
{
public:
    int h[]={2,1,5,3,4};        //这里,你的数组是算什么,你在主函数中将该数组作为参数,有传递,定义在这里会导致大括号不匹配的报错
    void sf(int a[],int n)
    {
    int i,j;
    int temp;
    for( i=1;i<n;i++)
    {
    int j=i;
    int temp=a[i];
    while(j>0 &&temp<a[j-1]){
    a[j]=a[j-1];
    j--;
    }
    a[j]=temp;
    for(int k=0;k<n;k++)
        cout<<a[k]<<" ";
    cout<<endl;
    }
}

};
void main()
{ 
    A::sf(h,5);      //出现了非静态成员的非法调用,应该先声明一个类的实例,由实例去调用成员方法,这里你好好琢磨一下
}




下面是我在你的代码基础上修改的:



程序代码:
#include "stdafx.h"
#include <stdlib.h>
#include<iostream>
using namespace std;

class A
{
public:
    
    void sf(int a[],int n)
    {
       int i,j;
       int temp;
       for( i=1;i<n;i++)
       {
          int j=i;
          int temp=a[i];
          while(j>0 &&temp<a[j-1])
          {
             a[j]=a[j-1];
             j--;
          }
          a[j]=temp;
          for(int k=0;k<n;k++)
              cout<<a[k]<<" ";
          cout<<endl;
       }
   }
};

int main()
{   
    int h[]={2,1,5,3,4};
    A a;
    a.sf(h,5);
    system("pause");
    return 0;
}

对待编程,要像对待情人一样
2016-12-20 20:26
鸿蒙之灵
Rank: 4
来 自:异次元裂缝
等 级:贵宾
威 望:11
帖 子:126
专家分:244
注 册:2016-8-22
得分:0 
回复 楼主 知白守黑
还有一个编程习惯的问题,忘了说了,主函数哪来的void类型,这个你下去了好好了解一下标准

对待编程,要像对待情人一样
2016-12-20 20:27
知白守黑
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-12
得分:0 
回复 3楼 鸿蒙之灵
好的,万分感谢
2016-12-21 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472645-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.611399 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved