Установите один тип данных с typeof - PullRequest
0 голосов
/ 20 мая 2018

Я хочу сделать программу, которая работает только с одним указанным типом данных.Я бы установил с помощью typeof тип всех данных в моей программе в соответствии с первыми полученными данными.

Например, в этом случае:

int main() {    
    float a = 5;
    typeof(a) var1;
    typeof(b) var2;
    //etc...
}

Ноесли я хочу сделать это с помощью функции extern, содержащейся в библиотеке?

Пример:

int main() {
    void* var1 = create_var("hello");  //with the first call 'create_var()' establish the data type: in this case -> string
    void* var2 = create_var("c");     //now i want that this is allowed
    void* var3 = create_var(2);      //and this is not allowed

Как я могу сделать эту функцию?

1 Ответ

0 голосов
/ 20 мая 2018

К тому времени, когда вы напишите каркас для поддержки вашей функции create_var, вы изобрели новый язык, который поддерживает проверку типов во время выполнения (вместо проверки типов во время компиляции / компоновки в C) и шаблоны.Вот что произошло с C ++ (изначально это был набор макросов препроцессора для C).

Может быть проще начать с языка с динамической типизацией и добавить собственное принудительное использование типов к вашим типам данных и функциям.

Примеры предыдущей работы:

...