【发布时间】:2013-01-27 01:16:50
【问题描述】:
我收到了来自 g++ 的奇怪错误。错误提示的过程在其他项目中编译得很好,但在这里不知何故。这是 g++ 抱怨的:
g++ -c -Wall -pedantic clear_screen.cpp -lcurses -o .clear.o
clear_screen.cpp:6:6: error: expected initializer before ‘->’ token
make: *** [.clear.o] Error 1
对应的makefile部分如下:
CC=g++
CFLAGS=-c -Wall -pedantic
COMP=$(CC) $(CFLAGS)
.clear.o : clear_screen.cpp
$(COMP) clear_screen.cpp -lcurses -o $@
相关文件由以下几行组成:
#include <unistd.h>
#include <term.h>
void clear_screen() {
if ( !cur_term ) { // line 6 is here
int result;
setupterm( NULL, STDOUT_FILENO, &result );
if (result <= 0) return;
}
putp( tigetstr( "clear" ) );
}
我哪里错了?
【问题讨论】:
-
cur_term是否在头文件中定义为宏 (#define)?我在您发布的代码中的任何地方都没有看到->运算符。
标签: c++ compiler-errors g++