我很少使用C语言,但是我是开发的初学者。
我必须集成此代码:
constructor(public navCtrl: NavController, public navParams: NavParams, public postsProvider: PostsProvider) {
this.post = this.navParams.get('post');
}
和
`//IoHwab_fls.h
...
Std_ReturnType ReturnVal;
Fls_AddressType Test_ProgData[2 * FLS_PAGESIZE];
uint8* Test_ReadData[2 * FLS_PAGESIZE];
...
在更广泛的项目中。但是我遇到以下错误:
//IoHwab_fls.c
#include "IoHwab_fls.h"
void flsDemo(void)
{
...
ReturnVal = Fls_17_Pmu_Erase( FLS_BANK0_LINEAR,FLS_BANK_SIZE);
...
ReturnVal = Fls_17_Pmu_Write(Test_ProgData, FLS_BANK0_LINEAR,(2*FLS_PAGESIZE));
...
ReturnVal = Fls_17_Pmu_Read(FLS_BANK0_LINEAR ,Test_ReadData,(2 * FLS_PAGESIZE));
...
}
这是IoHwab_fls.c 23/31 incompatible types at argument #1
和Fls_17_Pmu_Write(...)
的原型:
Fls_17_Pmu_Read(...)
以及extern Std_ReturnType Fls_17_Pmu_Write( Fls_AddressType TargetAddress,
const uint8 *SourceAddressPtr,
Fls_LengthType Length
);
extern Std_ReturnType Fls_17_Pmu_Read( Fls_AddressType SourceAddress,
uint8 *TargetAddressPtr,
Fls_LengthType Length
);
类型声明:
Fls_AddressType
我相信我的第一个论点的类型定义明确?是吗 ?您是否知道我该如何解决?
谢谢
答案 0 :(得分:3)
Test_ProgData
和Test_ReadData
被声明为数组。
Fls_AddressType Test_ProgData[2 * FLS_PAGESIZE];
uint8* Test_ReadData[2 * FLS_PAGESIZE];
Fls_17_Pmu_Write
和Fls_17_Pmu_Read
的签名表明,它们只能采用Test_ProgData
和Test_ReadData
类型的单个元素。
您只能通过定义 Fls_AddressType
和uint8*
的单个实例并将它们传递给函数来解决此问题。
类似:
Fls_AddressType My_Test_ProgData;
uint8* My_Test_ReadData = malloc(1); //as size of uint8 is 1
答案 1 :(得分:2)
该参数的类型为import re
for i in range(0,len(df['body'])):
df['body'][i] = re.sub('\W+','', df['body'][i])
,但是您传入了Fls_AddressType TargetAddress
,它是Test_ProgData
的数组,并衰减为数组的第一个元素,因此错误是您的函数需要Fls_AddressType
,但您正在传递Fls_AddressType TargetAddress
。
关于如何您可以解决这个问题-嗯,我不知道,因为我不知道该程序应该做什么。