В моем случае путь JAVA не был установлен в переменные Env. Начал работать после того, как правильный путь был установлен в Env PATH.
Введите javac в командной строке и убедитесь, что JAVA PATH верен.
Возвращаемое значение для main
должно указать как программа, из которой выходят. Нормальный выход обычно представлен 0 возвращаемыми значениями от main
. Аварийный выход обычно сообщается ненулевым возвратом, но нет никакого стандарта для того, как интерпретируются ненулевые коды. Также, как отмечено другими, void main()
явно запрещается стандартом C++ и не должен использоваться. Допустимый C++ main
подписи:
int main()
и
int main(int argc, char* argv[])
, который эквивалентен [1 113]
int main(int argc, char** argv)
, также стоит отметить, что в C++, int main()
может быть оставлен без оператора возврата, в которой точке это принимает значение по умолчанию к возврату 0. Это также верно с программой C99. Должен ли return 0;
быть опущен или не открыт для дебатов. Диапазон действительной программы C основные подписи намного больше.
кроме того, эффективность не является проблемой с эти main
функция. Это может только быть введено и оставлено однажды (маркировка запуска и завершения программы) согласно стандарту C++. Для C случай отличается, и повторно вводящий main()
позволяется, но должен избежаться.
У меня создалось впечатление, что стандарт определяет, что основной не нуждается в возвращаемом значении, поскольку успешным возвратом была базирующаяся ОС (нуль в, можно было быть или успехом или отказом в другом), поэтому отсутствие возврата было сигналом для компилятора для вставки самого успешного возврата.
Однако я обычно возвращаюсь 0.
Следует иметь в виду, что, даже при том, что Вы возвращаете интервал, некоторые Ose (Windows) усекают возвращенное значение к единственному байту (0-255).
Возвратитесь 0 на успехе и ненулевой для ошибки. Это - стандарт, используемый UNIX и сценариями DOS для обнаружения то, что произошло с программой.
Я полагаю, что main()
должен возвратиться или EXIT_SUCCESS
или EXIT_FAILURE
. Они определяются в stdlib.h
Принятый ответ, кажется, предназначен для C++, таким образом, я думал, что добавлю ответ, который принадлежит C, и это отличается несколькими способами.
ISO/IEC 9899:1989 (C90):
main()
должен быть объявлен как также:
int main(void)
int main(int argc, char **argv)
Или эквивалентный. Например, int main(int argc, char *argv[])
эквивалентно второму. Далее, int
тип возврата может быть опущен, поскольку это - значение по умолчанию.
, Если реализация разрешает, это, main()
может быть объявлен другими способами, но это делает реализацию программы определенной, и больше строго приспосабливание.
стандарт определяет 3 значения для возврата, которые строго соответствуют (то есть, не полагается на определенное поведение реализации): 0
и EXIT_SUCCESS
для успешного завершения, и EXIT_FAILURE
для неудачного завершения. Любые другие значения нестандартны и определенная реализация. main()
должен иметь явное return
оператор в конце для предотвращения неопределенного поведения.
Наконец, нет ничего неправильно с точки зрения стандартов с вызовом main()
из программы.
ISO/IEC 9899:1999 (C99):
Для C99, все совпадает с выше кроме:
int
тип возврата не может быть опущен. main()
законченный, существует неявное return 0
.