回答
您不能添加两个指针。您可以将一个整数添加到指针中,并且可以减去两个指针以获得整数差异,但添加两个指针是没有意义的。为了解决您的问题,所以你只需要删除投:
Flash_ptr = Flash_ptr + 0x200;
这通过在0x200 元素递增Flash_ptr
,但由于Flash_ptr
是unsigned char *
型,则这只是转化成的在0x200 字节的增量。
为了使一个循环的这一部分,检查是否有上限,你会做这样的事情:
while (Flash_ptr < (unsigned char *)0x50000) // loop until Flash_ptr >= 0x50000
{
// ... do something with Flash_ptr ...
Flash_ptr += 0x200;
}
你说得对,错误消失了,但是我怎么才能检查指针是否指向地址0x50000或更少? 这只是不起作用: \t while(Flash_ptr <0x50000) – 2014-09-10 09:35:15
在OP代码中使用无效指针* addition *会更好吗? – 2014-09-10 09:35:18
@OgeeGee:您需要明确地转换其中一个操作数,例如'while((uintptr_t)Flash_ptr <0x50000)'。 – mafso 2014-09-10 09:39:27
不能添加两个指针。你可以做的是增加指针所持有的地址。删除(unsigned char *)
演员。
如果您有兴趣,请阅读有关指针算术here的更多信息。
- 1. glutGetWindow - 表达必须有类类型
- 2. 表达式必须具有类类型?
- 3. 表达必须有类类型
- 4. 表达式必须有整数或枚举类型
- 5. 错误:表达式必须具有整数或枚举类型
- 6. C表达式必须有整型或枚举类型?
- 7. 表达式必须有指针类型
- 8. 表达式必须具有类类型(学生数据库)?
- 9. 智能感知:表达式必须有整数或枚举类型
- 10. 错误:“表达式必须具有整数或无范围的枚举类型”
- 11. 与新手的错误“表达必须有整数或枚举类型”
- 12. 表达式必须有(指针)函数类型错误
- 13. 表达式必须有指向函数类型的指针
- 14. 错误。表达式必须有一个类类型
- 15. 字符“表达必须有一个分类类型”
- 16. 错误:“表达式必须具有类的类型”C++/CLI
- 17. 错误 - “表达式必须有一个类类型”-C++
- 18. C++表达式必须具有类类型
- 19. 错误:表达式必须具有类类型?
- 20. 错误:表达式必须有一个类的类型
- 21. 错误:表达式必须具有大小类类型()
- 22. c树结构表达式必须具有类类型
- 23. 向量表达式必须具有类类型
- 24. 表达必须有一个类的类型
- 25. 表达式必须具有类类型(运算符)
- 26. deque.push_front()给出错误“表达式必须具有类类型”
- 27. 表达式必须有一个类类型错误153
- 28. 类型表达式必须是阵列类型的错误JAVA
- 29. 错误:“表达必须具有类类型”和“左必须有类/结构/联合”
- 30. 结构错误表达式必须有bool类型
该语言不允许您添加指针(它没有多大意义)。您可以改为添加一个整数值。 – juanchopanza 2014-09-10 09:28:32