小编Log*_*gan的帖子

C struct object Stack - 在常量表达式中不允许函数调用(错误)

我正在尝试创建一个struct对象(堆栈),它包含:

typedef struct node {
    int val;
    struct node * next;
}node_t;

typedef struct {
    node_t * top;
    int max_size;
    int used_size;
} Stack;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试初始化对象并使用以下函数为其分配一些内存空间时:

 Stack * newStack(int max_size) {
    Stack * S = malloc(sizeof(Stack));
    S->top = NULL;
    S->max_size = max_size;
    S->used_size = 0;
    return S;
}

Stack * S = newStack(256); //error here
Run Code Online (Sandbox Code Playgroud)

我得到上面提到的错误 -

常量表达式中不允许函数调用

我以前从未遇到过这种类型的错误,我不知道如何处理它.任何帮助表示赞赏.

c stack struct linked-list visual-studio-2015

7
推荐指数
1
解决办法
9690
查看次数

Android:方法中setText的java.lang.NullPointerException

在[dateView.setText(tempDate);]获取NullPointerException ...请提出任何提示?基本上我需要从日历中获取更改日期,然后使用这个新日期更新TextView.谢谢.

CalendarView calendar;
String tempDate;
TextView dateView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    dateView = (TextView)findViewById(R.id.TextDate);

    setContentView(R.layout.calendar);
    initializeCalendar();

}

public void initializeCalendar() {
    calendar = (CalendarView) findViewById(R.id.calendar);
    calendar.setShowWeekNumber(false);
    calendar.setFirstDayOfWeek(2);
    calendar.setSelectedWeekBackgroundColor(getResources().getColor(R.color.lightblue));
    calendar.setUnfocusedMonthDateColor(getResources().getColor(R.color.transparent));
    calendar.setWeekSeparatorLineColor(getResources().getColor(R.color.transparent));
    calendar.setSelectedDateVerticalBar(R.color.blue);
    calendar.setOnDateChangeListener(new OnDateChangeListener() {
        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month, int day) {
            Toast.makeText(getApplicationContext(), day + "/" + month + "/" + year, Toast.LENGTH_LONG).show();
            tempDate = (day+"/"+month+"/"+year);
            dateView.setText(tempDate);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

}

错误报告:

java.lang.NullPointerException
        at training.mark.trainingii.Calendar$1.onSelectedDayChange(Calendar.java:40)
        at android.widget.CalendarView$1.onChanged(CalendarView.java:1012)
        at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
        at android.widget.BaseAdapter.notifyDataSetChanged(BaseAdapter.java:50)
        at …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception

-5
推荐指数
1
解决办法
561
查看次数