// a.h static int g_count; void AddCount(int count); // a.c #include “a.h” void AddCount(int count) { g_count += count; } // b.c #include “a.h” void IncrCount(void) { g_count += 1; } void Test(void) { print(“Count init = %d,”, g_count);IncrCount(); print(“incr = %d,”, g_count); AddCount(3); print(“added = %d”, g_count); }
时间: 2024-03-29 21:35:45 浏览: 220
这段代码中存在一个错误。由于在a.h文件中定义的全局变量g_count是static类型的,因此它的作用域仅限于单个.cpp文件,不能在其他文件中访问。因此,在b.c文件中的函数IncrCount和Test都无法访问变量g_count,会导致编译错误。
要解决这个问题,可以将变量g_count声明为extern类型,这样就可以在其他.cpp文件中访问它。修改方式如下:
// a.h
extern int g_count;
void AddCount(int count);
// a.c
#include "a.h"
int g_count;
void AddCount(int count) {
g_count += count;
}
// b.c
#include "a.h"
void IncrCount(void) {
g_count += 1;
}
void Test(void) {
printf("Count init = %d,", g_count);
IncrCount();
printf("incr = %d,", g_count);
AddCount(3);
printf("added = %d", g_count);
}
相关问题
这段代码不显示库存,请进行修改<scroll-view scroll-y> <view wx:if="{{cartList&&cartList.length>0}}"> <view class="list_root"> <block wx:for="{{cartList}}" wx:key="index"> <view class="caipin_item"> <image class="cai_img" src="{{item.icon}}" /> <view class="cai_root2"> <view class="cai_title">{{item.name}}</view> <view class="cai_sell">库存:{{item.num}} </view> <view class="price-stepper"> <view class="cai_price">{{item.price}}</view> <view class="stepper"> <view catchtap="minusCount" data-item="{{item}}"> <image class="jiajian" src="/image/jian.png" /> </view> <view class="value" data-id="{{item._id}}"> {{item.quantity}}</view> <view catchtap="addCount" data-item="{{item}}"> <image class="jiajian" src="/image/jia.png" /> </view> </view> </view> </view> <icon class="shopcart_delete" type="clear" size="18" data-index="{{index}}" data-id="{{item._id}}" catchtap="deleteOne" /> </view> </block> </view>
可以尝试将代码中的 `<view class="cai_sell">库存:{{item.num}} </view>` 修改为 `<view class="cai_sell">库存:{{item.stock}} </view>`,其中 `stock` 为商品的库存属性名,需要根据实际情况进行修改。如果还是不显示库存,可以检查一下数据源中是否有库存属性并且数量正确。
<scroll-view scroll-y> <view wx:if="{{cartList&&cartList.length>0}}"> <view class="list_root"> <block wx:for="{{cartList}}" wx:key="index"> <view class="caipin_item"> <image class="cai_img" src="{{item.icon}}" /> <view class="cai_root2"> <view class="cai_title">{{item.name}}</view> <view class="cai_sell">库存:{{item.num}} </view> <view class="price-stepper"> <view class="cai_price">{{item.price}}</view> <view class="stepper"> <view catchtap="minusCount" data-item="{{item}}"> <image class="jiajian" src="/image/jian.png" /> </view> <view class="value" data-id="{{item._id}}"> {{item.quantity}}</view> <view catchtap="addCount" data-item="{{item}}"> <image class="jiajian" src="/image/jia.png" /> </view> </view> </view> </view> <icon class="shopcart_delete" type="clear" size="18" data-index="{{index}}" data-id="{{item._id}}" catchtap="deleteOne" /> </view> </block> </view> <!--页面底部区域 --> <view class="bottom_box"> <view class="bottom_left" bindtap="goFood">继续选菜</view> <view class="all_money">总计:{{totalPrice}}元,共{{totalNum}}件</view> <view class="choose_ok" bindtap="gotoOrder">去支付</view> </view> </view> <view wx:else class="nothing" bindtap="goFood"> 购物车为空,点击即可点餐 </view> </scroll-view>
这是一个基于微信小程序的购物车页面的代码。页面元素包括商品图片、商品名称、商品库存、商品价格、商品数量选择器、删除按钮以及底部区域(继续选菜、总价、去支付)。该页面的实现使用了微信小程序的组件化开发方式,其中scroll-view组件用于实现可滚动的商品列表,view组件用于实现各个元素的布局,block和wx:for用于实现商品列表的循环渲染,catchtap用于绑定事件处理函数。
阅读全文