«implicit-conversion» 태그된 질문

언어 구문을 통해 특별히 해당 변환을 요청하지 않고 유형 제한을 충족하기 위해 객체, 변수 또는 값을 한 유형에서 다른 유형으로 변환합니다.

2
스칼라는 암시 적 위치를 어디에서 찾습니까?
암시 스칼라 이민자에 대한 질문은 것 같다 : 어디 implicits에 대한 컴파일러의 모습입니까? 나는 질문이 전혀없는 것처럼 질문이 완전히 형성되는 것처럼 보이지 않기 때문에 암시 적 의미입니다. :-) 예를 들어 integral아래 값은 어디에서 오는가? scala> import scala.math._ import scala.math._ scala> def foo[T](t: T)(implicit integral: Integral[T]) {println(integral)} foo: [T](t: T)(implicit integral: …

4
Objective-C 암시 적 변환은 정수 정밀도 'NSUInteger'(일명 '부호없는 long')를 'int'경고로 잃습니다.
몇 가지 연습을 진행 중이며 다음과 같은 경고가 표시됩니다. 암시 적 변환은 정수 정밀도를 잃습니다 : 'NSUInteger'(일명 'unsigned long')에서 'int' #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSArray *myColors; int i; int count; myColors = @[@"Red", @"Green", @"Blue", @"Yellow"]; count = myColors.count; // <<< …


7
왜 int 변수 i가 아닌 short로 1을 전달할 수 있습니까?
첫 번째와 두 번째 쓰기는 왜 작동하지만 마지막은 작동하지 않습니까? 세 가지를 모두 허용하고 그것이 1, (int) 1인지 또는 내가 통과했는지 감지 할 수있는 방법이 있습니까? 그리고 실제로 왜 마지막이 허용됩니까? 두 번째는 허용되지만 마지막은 허용되지 않습니다. 컴파일 오류를 보여주는 데모 using System; class Program { public static void Write(short …


5
`is_base_of`는 어떻게 작동합니까?
다음 코드는 어떻게 작동합니까? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host<B,D>(), int())) …

2
const std :: string & 사용하는 함수가 0을 허용하지 않도록 방지
천 단어의 가치 : #include<string> #include<iostream> class SayWhat { public: SayWhat& operator[](const std::string& s) { std::cout<<"here\n"; // To make sure we fail on function entry std::cout<<s<<"\n"; return *this; } }; int main() { SayWhat ohNo; // ohNo[1]; // Does not compile. Logic prevails. ohNo[0]; // you didn't! this compiles. return …

3
암시 적 변환 대 유형 클래스
Scala에서는 기존 또는 새로운 유형을 개조하기 위해 적어도 두 가지 방법을 사용할 수 있습니다. 를 사용하여 무언가를 정량화 할 수 있음을 표현하고 싶다고 가정합니다 Int. 다음과 같은 특성을 정의 할 수 있습니다. 암시 적 변환 trait Quantifiable{ def quantify: Int } 그런 다음 암시 적 변환을 사용하여 예를 들어 문자열 …


10
왜 printf ( "% f", 0); 정의되지 않은 동작을 제공합니까?
진술 printf("%f\n",0.0f); 0을 인쇄합니다. 그러나 진술 printf("%f\n",0); 임의의 값을 인쇄합니다. 나는 내가 어떤 종류의 정의되지 않은 행동을 보이고 있다는 것을 알고 있지만, 그 이유를 구체적으로 알 수는 없습니다. 모든 비트가 0으로되는 부동 소수점 값은 여전히 유효 float0의 값 float과 int(즉, 더욱 중요한 경우) 내 시스템의 동일한 크기이다. 부동 소수점 리터럴 …

4
반환시 암시 적 변환은 허용되지 않습니다.
#include <optional> bool f() { std::optional<int> opt; return opt; } 컴파일하지 않습니다 : 'return': cannot convert from 'std::optional<int>' to 'bool' 컨설팅 참조 설명을 찾아야한다고 생각했지만 괜찮 았으므로 읽었습니다. 일부 유형 T1의 표현식이 해당 유형을 허용하지 않지만 다른 유형 T2를 허용하는 컨텍스트에서 사용될 때마다 내재적 변환이 수행됩니다. 특히: T2를 매개 변수로 …


2
명시 적으로 반환 유형을 명시하더라도 람다에 대한 호출은 모호합니다.
람다의 유형을 결정할 수있는 경우 오버로드 된 함수는 두 함수를 모두 가져 와야합니다 std::function((잘못된 경우 수정하십시오). 질문은 다음과 같습니다. 정의 되었습니까? ( [&]() -> Type {}) 현재 솔루션의 경우 참조 기준 캡처가 필요하므로 코드에 논리가 포함되어 있습니다. 다음 예제는 문제점을 설명합니다. #include <iostream> #include <string> #include <functional> void do_some(std::function<void(int)> thing) …

3
int (0)에서 벡터의 포인터로의 암시 적 변환을 피하는 방법
JSON에서 키에 대한 경로의 모든 노드 이름을 수집하려는 상황이 있습니다. 배열 인덱스 "0"의 조건, "1"도 허용되지만 인용 부호를 잊어 버리기 쉬워 역 참조시 충돌이 발생할 수 있습니다. 그래서 이것을 거부하고 싶습니다. 예: #include <vector> #include <iostream> int func(const std::vector<const char*>& pin) { return pin.size(); } int main() { // {"aname", …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.