首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决“数组下标类型‘int[x][const char*]’无效”的问题?

如何解决“数组下标类型‘int[x][const char*]’无效”的问题?
EN

Stack Overflow用户
提问于 2016-10-03 03:49:44
回答 1查看 133关注 0票数 0

我不断地在主题中得到错误,下面是代码。特别是在常量N的类型中;我想把10,100和100数到无穷大。

哪里出了问题,如何最好地修复它?

代码语言:javascript
复制
#include <iostream>
#include <stdio.h>
#define N 100
#define start 1

int main()
{
    system("cls");
    long int a1,a2;
    long int res1,res2;
    long int c1,c2;
    a1=start;
    a2=a1+N;
    res1=(a2+2)/5;
    res2=(a2+4)/6;

    long int i,q,z,g;
    int nums[N];

    for (i=start; i<(start + N); i++) {
        nums["i<start"+1]=10*i+8;
    }
    for (i=1; i<N; i++) {
        for (q=1;q<=res1;q++) {
            c2=(a2+q+2)/(10*q-8);
            c1=(a1+q+2)/(10*q-8)+1;

            for (g=c1;g<c2;g++) {
                z=(10*q+8)*g-(q-2);
                if ((z-start+1)<N)
                    nums[z-start+1]=0;
                else 
                    break;
            }
        }
        for (q=1;q<=res2;q++) {
            c2=(a2+q)/(10*q-6);
            c1=(a1+q)/(10*q-6)+1;
            for (g=c1;g<=c2;g++) {
                z=(10*q-6)*g+q;
                if ((z-start+1)<N)
                    nums["z-start"+1]=0;
                else 
                    break;
            }
        }

    }
    for (i=1;i<N;i++)
        return 0;

}
EN

回答 1

Stack Overflow用户

发布于 2016-10-03 04:05:20

好的,编译器已经说出了问题所在。nums["i<start"+1]nums["z-start"+1]导致了这个错误。不能通过string (也称为const char*)对元素进行索引。只需将其替换为nums[i-start+1] (或您所指的<)和nums[z-start+1]即可。

而且你的代码写得也不是很好。不要使用像Ngc2这样的短变量名,它只会让人感到困惑(更喜欢长的/逻辑的)。评论你的项目和了解编译器错误也不会有什么坏处。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39821021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档