我试图编译我的代码的这一部分,它的错误说,“预期的表达式之前'shared_mem_t'”,我不确定如何修复它。任何帮助将不胜感激。
void* temp_monitor(void* ptr) { int thread = *((int*)ptr); int temperature; temperature = shared_mem_t->levels[thread].temp; }
我尝试重新格式化,只是想让文件编译到下一行,这样我的值就可以传递到下一个函数。
ep6jt1vc1#
shared_mem_t标识符几乎肯定是一个 * 类型,* 给定_t后缀(使用<description>_t和t<Description>是两种 * 非常 * 常见的命名类型的方法)。如果是这样,那就不是正确的用法。你需要一个可以解引用的 * 变量 *,类似于:
shared_mem_t
_t
<description>_t
t<Description>
shared_memory = some_function_returning_pointer_variable_into_shared_memory(); temperature = shared_memory->levels[thread].temp;
1条答案
按热度按时间ep6jt1vc1#
shared_mem_t
标识符几乎肯定是一个 * 类型,* 给定_t
后缀(使用<description>_t
和t<Description>
是两种 * 非常 * 常见的命名类型的方法)。如果是这样,那就不是正确的用法。你需要一个可以解引用的 * 变量 *,类似于: