c++-Visual C++里面的重复定义

问题描述

Visual C++里面的重复定义
我写的杭电的2025题,还没完全写完,但是遇到了一个问题
下面是我写的代码:

#include<iostream>#include<string.h>using namespace std;int main(){    char a[101];    while(1){        cin>>a;        char max='a';        int end=strlen(a);        int t;        for(int i=0;i<=end;++i){            if(a[i]>max){t=i;max=a[i]}        }        for(int i=0;i<=t;++i){            cout<<a[i];        }        cout<<""(max)"";        for(int i=t+1;i<=strlen(a)-1;++i){cout<<a[i];}        cout<<endl;    }    return 0;}

会报i重复定义。
但是我的i只是定义在每一个for循环里面的,为什么会报重复定义?

解决方案

if(a[i]>max){t=i;max=a[i]}
a[i]后面少分号

解决方案二:
for循环里的i定义了多次了
除了第一个for把后面的for循环中的int都去掉

for(i=0;i<=......

解决方案三:
vc6.0 编译器会报这种错误,VS上应该不会报这种错误的!只要把后面两个for循环的i定义去掉就行了!

解决方案四:
vc6.0版本太低了,已经不使用新的c++标准了...建议用vs高级版本写c++程序

时间: 2024-10-27 21:34:18

c++-Visual C++里面的重复定义的相关文章

相同元素不同结构重复定义的问题

CSS选择器是构建CSS的基础.在为大型,复杂嵌套的(x)HTML文档进行样式定义时,很有可能会遇上针对相同元素在不同结构下的重复定义的问题,这个问题也是前端开发人员相对头痛的问题. 在这种情况 (针对相同元素在不同结构下的重复定义) 发生的前提下,浏览器在渲染页面文件时,会按照一定规则进行优先级排列,然后根据这个优先级权重对发生状况的元素进行处理. 而这个浏览器遵循的规则是什么呢? 让我们来看一段简单的HTML代码: <body id="content"> <div

C++ Error LNK2005(不知道哪儿重复定义了)

问题描述 C++ Error LNK2005(不知道哪儿重复定义了) 代码: #include #include #include #include "testcpp.cpp" int main() { aaa t; t.ChangeK(&t); t.PutK(&t); system("pause"); return 0; } testcpp.cpp #include using namespace std; typedef struct aaa{

c语言中我重复定义了为什么编译器没报错了

问题描述 c语言中我重复定义了为什么编译器没报错了 在头文件和源文件中定义了相同的变量kk,但是编译的时候为什么没报错呢! 解决方案 C语言中重复定义的问题 解决方案二: 哪里显示出你重复定义了? int kk;//全局变量声明 int main(--) { kk = 2;//对kk进行定义 } 解决方案三: 你没有重复定义, 一个是全局变量一个是局部变量. 解决方案四: 因为有 ifndef 这个控制,会检查重复定义的,如果前面定义了就不会再定义一遍 解决方案五: 如果不是相互包含,那么问题不

C++可以在多个头文件中重复定义同一名称的命名空间吗?

问题描述 C++可以在多个头文件中重复定义同一名称的命名空间吗? test_a.h中有定义: namespace ns { class a {...}; } test_b.h中有定义: namespace ns { class b {...}; } test_c.h中有定义: namespace ns { class c {...}; } 然后,在test_c.cpp中有如下代码片段: #include "test_a.h" #include "test_b.h"

c++-C++中namespace的变量提示重复定义,为什么。

问题描述 C++中namespace的变量提示重复定义,为什么. 有三个文件:sale.h, sale.cpp, main.cpp sale.h中定义namespace SALES { int test; void func(void); } sale.cpp中接着完成namespace的函数定义 namespace SALES { void func(void) { ***** } } main.cpp的main函数之外,定义int test 编译结果是:编译器指示在sale.cpp中SALE

c++-C++全局变量重复定义的问题

问题描述 C++全局变量重复定义的问题 我找了半天还是没找到自己哪里有重复定义j1 这个变量,实在找不到了 不知道问题咋解决了 ,恳求大神帮忙解答, 以下是我的程序: long double a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32,a33,a34,a35,a36,a37,a38; char o1[12

库-vc++混编加入文件编译通过,但链接时出现重复定义的错误。

问题描述 vc++混编加入文件编译通过,但链接时出现重复定义的错误. 如题出现LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found,求问该如何解决.此时我只是加入了进入工程并未有编写代码进入源程序.而原来的程序也是可以运行的.看了网上的帖子还是没弄明白是否是因为加入第三方的库造成.这种时候具体要如何解决.求大神帮助啊 解决方案 检查是否重复包含了头文件,而头文件没有用预编译指令区隔,或者

c语言-C中不是不允许重复定义吗,但是可以重复声明是吧,这个程序中应该是重复定义吧

问题描述 C中不是不允许重复定义吗,但是可以重复声明是吧,这个程序中应该是重复定义吧 但是编译过了,什么原因呢,这是只定义没赋初值的情况下,如果给第一个赋初值,第二个不赋初值也是可以编译过的, 解决方案 这个程序是哪个程序,你的程序呢? 解决方案二: 不允许重复定义,赋值和定义是两回事儿 解决方案三: a应该是定义吧,除了2个a都给赋值外,其他都是可以通过编译的 解决方案四: printf里面灰色的字实在是看不见 解决方案五: int a; int a; 这么写是不行的. int a; exte

自定义 MyProfileCommon,什么运行提示已经重复定义properties name?

问题描述 在App_Code下,自定义MyProfileCommon,什么运行提示已经重复定义propertiesname?publicclassMyProfileCommon:ProfileBase{publicvirtualstringTrueName{get{return((string)(this.GetPropertyValue("TrueName")));}set{this.SetPropertyValue("TrueName",value);}}pub